Just connecting to the service, a 64bit cpu registers dump is received, and so does several binary code as you can see:
The registers represent an initial cpu state, and we have to reply with the registers result of the binary code execution. This must be automated becouse of the 10 seconds server socket timeout.
The exploit is quite simple, we have to set the cpu registers to this values, execute the code and get resulting registers.
In python we created two structures for the initial state and the ending state.
finalRegs = {'rax':'','rbx':'','rcx':'','rdx':'','rsi':'','rdi':'','r8':'','r9':'','r10':'','r11':'','r12':'','r13':'','r14':'','r15':''}
We inject at the beginning several movs for setting the initial state:
for r in cpuRegs.keys():
code.append('mov %s, %s' % (r, cpuRegs[r]))
The 64bit compilation of the movs and the binary code, but changing the last ret instruction by a sigtrap "int 3"
We compile with nasm in this way:
os.popen('nasm -f elf64 code.asm')
os.popen('ld -o code code.o ')
And use GDB to execute the code until the sigtrap, and then get the registers
fd = os.popen("gdb code -ex 'r' -ex 'i r' -ex 'quit'",'r')
for l in fd.readlines():
for x in finalRegs.keys():
...
We just parse the registers and send the to the server in the same format, and got the key.
The code:
from libcookie import *
from asm import *
import os
import sys
host = 'catwestern_631d7907670909fc4df2defc13f2057c.quals.shallweplayaga.me'
port = 9999
cpuRegs = {'rax':'','rbx':'','rcx':'','rdx':'','rsi':'','rdi':'','r8':'','r9':'','r10':'','r11':'','r12':'','r13':'','r14':'','r15':''}
finalRegs = {'rax':'','rbx':'','rcx':'','rdx':'','rsi':'','rdi':'','r8':'','r9':'','r10':'','r11':'','r12':'','r13':'','r14':'','r15':''}
fregs = 15
s = Sock(TCP)
s.timeout = 999
s.connect(host,port)
data = s.readUntil('bytes:')
#data = s.read(sz)
#data = s.readAll()
sz = 0
for r in data.split('\n'):
for rk in cpuRegs.keys():
if r.startswith(rk):
cpuRegs[rk] = r.split('=')[1]
if 'bytes' in r:
sz = int(r.split(' ')[3])
binary = data[-sz:]
code = []
print '[',binary,']'
print 'given size:',sz,'bin size:',len(binary)
print cpuRegs
for r in cpuRegs.keys():
code.append('mov %s, %s' % (r, cpuRegs[r]))
#print code
fd = open('code.asm','w')
fd.write('\n'.join(code)+'\n')
fd.close()
Capstone().dump('x86','64',binary,'code.asm')
print 'Compilando ...'
os.popen('nasm -f elf64 code.asm')
os.popen('ld -o code code.o ')
print 'Ejecutando ...'
fd = os.popen("gdb code -ex 'r' -ex 'i r' -ex 'quit'",'r')
for l in fd.readlines():
for x in finalRegs.keys():
if x in l:
l = l.replace('\t',' ')
try:
i = 12
spl = l.split(' ')
if spl[i] == '':
i+=1
print 'reg: ',x
finalRegs[x] = l.split(' ')[i].split('\t')[0]
except:
print 'err: '+l
fregs -= 1
if fregs == 0:
#print 'sending regs ...'
#print finalRegs
buff = []
for k in finalRegs.keys():
buff.append('%s=%s' % (k,finalRegs[k]))
print '\n'.join(buff)+'\n'
print s.readAll()
s.write('\n'.join(buff)+'\n\n\n')
print 'waiting flag ....'
print s.readAll()
print '----- yeah? -----'
s.close()
fd.close()
s.close()
Related links
- Hacker Tools Free Download
- Pentest Tools Windows
- Kik Hack Tools
- Pentest Tools Android
- Pentest Tools Find Subdomains
- Hack Tool Apk
- Hacking Tools Windows
- Wifi Hacker Tools For Windows
- Hack Apps
- Hackers Toolbox
- Hack Tools For Windows
- Pentest Tools Windows
- Easy Hack Tools
- Physical Pentest Tools
- Best Hacking Tools 2020
- Pentest Tools Github
- Hacking Tools For Windows
- Hacking Tools Hardware
- Hackers Toolbox
- Hacker Tools For Mac
- Hacking Tools Windows
- Hacking Tools For Windows
- Hacking Tools For Windows Free Download
- How To Hack
- Pentest Tools Alternative
- Hacking Tools For Games
- Install Pentest Tools Ubuntu
- Hack Tools For Ubuntu
- Pentest Tools Github
- Tools Used For Hacking
- Hacker Hardware Tools
- Pentest Tools Subdomain
- Hacking Tools Download
- Blackhat Hacker Tools
- Pentest Tools For Ubuntu
- Hacker Security Tools
- Hacker Tools 2019
- Hacking Tools For Games
- Termux Hacking Tools 2019
- Hacker
- Pentest Tools Tcp Port Scanner
- Nsa Hack Tools
- Pentest Tools Framework
- Hack Tools Download
- Hacking Tools And Software
- Nsa Hacker Tools
- Underground Hacker Sites
- Hacking Tools For Kali Linux
- How To Make Hacking Tools
- Hacking Tools Usb
- Hacking Tools Name
- Beginner Hacker Tools
- Hacking Tools For Beginners
- Pentest Tools Online
- Install Pentest Tools Ubuntu
- Hacking Tools Github
- Hacking Tools Download
- Hacking Tools Software
- Best Pentesting Tools 2018
- Hack Tools For Ubuntu
- Underground Hacker Sites
- Tools 4 Hack
- Pentest Tools Android
- Pentest Tools Download
- Hacker Search Tools
- Hacking App
- Pentest Tools For Ubuntu
- Hack Tools
- Hacking Tools For Beginners
- Hacking Tools Download
- Best Pentesting Tools 2018
- Hacking Tools And Software
- Best Hacking Tools 2019
- Hack Rom Tools
- Hacker Search Tools
- Hak5 Tools
- Hacker Hardware Tools
- Pentest Reporting Tools
- Nsa Hack Tools Download
- Pentest Tools For Ubuntu
- Beginner Hacker Tools
- Hack Tools For Pc
- Usb Pentest Tools
- Pentest Tools List
- Hacking Tools For Games
- Hack Apps
- Hacker Tools Windows
- Hacker Tools Free
- World No 1 Hacker Software
- Pentest Box Tools Download
- Hack Tools Online
- Nsa Hacker Tools
- Hacking Tools
- How To Install Pentest Tools In Ubuntu
- World No 1 Hacker Software
- Pentest Tools Kali Linux
- Physical Pentest Tools
- Hacker Tools For Pc
- Hack Apps
- Hack Tools Mac
- Pentest Tools Website
- Hacking Tools Usb
- Hack Tools For Ubuntu
- Hacker Tools Free
- Hacking Tools For Windows 7
- Hacking Tools For Kali Linux
- Hack Tools
- Pentest Tools Nmap
- Bluetooth Hacking Tools Kali
- Hak5 Tools
- Nsa Hack Tools
- Hacker Tools
- Hacker Tools Mac
- Beginner Hacker Tools
- Hack Tools Download
- Hacking App
- Best Pentesting Tools 2018
- How To Install Pentest Tools In Ubuntu
- Hack Rom Tools
- Hacker Techniques Tools And Incident Handling
- Pentest Tools Apk
- Pentest Tools Open Source
- Hacking Tools Windows 10
- How To Install Pentest Tools In Ubuntu
- Hacker Tools
- Hacking Tools Windows 10
- Physical Pentest Tools
- What Are Hacking Tools
- Beginner Hacker Tools
- Pentest Tools Subdomain
- Ethical Hacker Tools
- How To Make Hacking Tools
- Pentest Reporting Tools
- Best Hacking Tools 2020
- Hack Tool Apk No Root
- Hacker Tools Free Download
- Hack Tools
- Termux Hacking Tools 2019
- Pentest Tools Nmap
- Best Pentesting Tools 2018
- Hacking Tools For Windows 7
- Hacker Tools Windows
- Hack And Tools
- Hacker Search Tools
- Hacker Tools Windows
- Pentest Tools Download
- Computer Hacker
- What Are Hacking Tools
- Black Hat Hacker Tools
- How To Hack
- Hack Tools Mac
- Tools 4 Hack
- Black Hat Hacker Tools
- Computer Hacker
- Best Hacking Tools 2020
- Hack Tools Online
- Hack And Tools
- Tools Used For Hacking
- Best Hacking Tools 2020
- Pentest Tools For Mac
- World No 1 Hacker Software
- Hack And Tools
- Pentest Tools Tcp Port Scanner
- Hack Tools
- World No 1 Hacker Software
- Hacker
- Hack Tools Mac
- Hacker Security Tools
- Hackers Toolbox
- Hack Tools Github
0 comments:
Post a Comment