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()
More information
- Easy Hack Tools
- Termux Hacking Tools 2019
- Ethical Hacker Tools
- Hacking Tools Mac
- Tools 4 Hack
- Github Hacking Tools
- How To Hack
- Pentest Tools Online
- Hacker Tools Apk
- Tools 4 Hack
- Hacker Hardware Tools
- Pentest Tools
- Pentest Tools Kali Linux
- Hackers Toolbox
- Pentest Tools Framework
- Hack Tools For Windows
- Hack Tools 2019
- Pentest Tools Website
- Hacker Techniques Tools And Incident Handling
- Pentest Tools For Ubuntu
- Hacker Tools For Windows
- Hacking Tools For Kali Linux
- Pentest Tools Subdomain
- Hacker Tools For Ios
- Pentest Tools Port Scanner
- Top Pentest Tools
- Hacking Tools For Windows Free Download
- Pentest Tools Github
- Termux Hacking Tools 2019
- Hacker Tools Windows
- Hacking Tools For Pc
- Tools 4 Hack
- Hacking Tools 2020
- Best Hacking Tools 2019
- What Is Hacking Tools
- Hack Tools For Windows
- Hacking App
- Pentest Tools Apk
- Hacking Tools Download
- Hack And Tools
- Hack Tools For Ubuntu
- Hacker Tools
- How To Make Hacking Tools
- Hack Rom Tools
- Nsa Hack Tools Download
- Game Hacking
- Hacking Tools Download
- Termux Hacking Tools 2019
- Hacker Tools For Windows
- Pentest Tools For Ubuntu
- Hack Rom Tools
- Hak5 Tools
- Hack Tools For Mac
- Tools For Hacker
- Computer Hacker
- Computer Hacker
- Hack Tools Pc
- Hacker Tool Kit
- Pentest Tools Framework
- Hackrf Tools
- Hacking Tools For Beginners
- Pentest Tools Nmap
- Pentest Tools Download
- Top Pentest Tools
- Hacking Tools 2020
- Android Hack Tools Github
- Nsa Hacker Tools
- Hack Tools For Games
- Hacker Tools For Mac
- Hacking Tools And Software
- Pentest Tools Url Fuzzer
- Pentest Tools Subdomain
- Hack Rom Tools
- Hacker Techniques Tools And Incident Handling
- Wifi Hacker Tools For Windows
- Free Pentest Tools For Windows
- Hacking Tools 2019
- How To Hack
- Hacker Tools Linux
- Best Hacking Tools 2019
- Pentest Tools Bluekeep
- Hacker Techniques Tools And Incident Handling
- Game Hacking
- Pentest Recon Tools
- World No 1 Hacker Software
- Hacker Tools Apk Download
- Hacking Tools For Games
- Hacking Tools Online
- Hack App
- Pentest Tools Open Source
- Blackhat Hacker Tools
- Hack Tools Github
- Hacker Tools Free
- Tools Used For Hacking
- Hacking Tools Usb
- Hack Tools
- Pentest Tools Online
- Hack Tools
- Hacker Tools Github
- Hacker Tools Linux
- Hacking Tools Pc
- Hacking Tools For Kali Linux
- Hacking Tools Usb
- Nsa Hack Tools Download
- Hack Tool Apk No Root
- Hacking Tools Software
- Hack Tool Apk
- Hacking Tools Pc
- Pentest Tools Open Source
- Hacker Hardware Tools
- Pentest Tools Windows
- Free Pentest Tools For Windows
- World No 1 Hacker Software
- Hacker Tools Mac
- Hacking Tools For Windows Free Download
- Hack Tools For Games
- Hacker Tools For Ios
- Hacker Tools For Ios
- Pentest Tools For Ubuntu
- Game Hacking
- Tools For Hacker
- Hacker Tools 2020
- Black Hat Hacker Tools
- Hacker Tools Online
- Github Hacking Tools
- Hack App
- Pentest Tools Apk
- Pentest Tools For Windows
- Hacker Tools For Windows
- Hack Tools
- Tools 4 Hack
- Pentest Tools Online
- Hacker Tools Apk
- Hacker Tools Apk
- Hackers Toolbox
- Hacking App
- Hack Tools For Ubuntu
- Hacker Tools Free Download
- Best Hacking Tools 2019
- Pentest Tools Linux
- Hacking Tools Free Download
- Pentest Tools For Windows
- Growth Hacker Tools
- Tools Used For Hacking
- Black Hat Hacker Tools
- Bluetooth Hacking Tools Kali
- Pentest Automation Tools
- Pentest Tools For Ubuntu
- Hacking Tools Name
- New Hack Tools
- What Is Hacking Tools
- Hacking Tools Mac
- Hack Rom Tools
- Pentest Automation Tools
- Pentest Tools
- Hacking Tools For Windows 7
- Usb Pentest Tools
- How To Make Hacking Tools
- Hack Tools For Windows
- Computer Hacker
- Hack Tools Pc
- Hack Tools Github
- Hack Tool Apk No Root
- Hack Tools For Pc
- Game Hacking
- Hack Tools Mac