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
- Hack Tool Apk
- Hack Tools For Windows
- Pentest Tools Nmap
- How To Install Pentest Tools In Ubuntu
- Nsa Hacker Tools
- Hacking Tools For Pc
- Blackhat Hacker Tools
- Hackrf Tools
- Hacks And Tools
- Hacker Tools List
- Hacking Tools For Windows
- Hacker Tools Mac
- Hacking Tools For Kali Linux
- Hacker
- Hacking Tools Free Download
- Hacker Tools Apk
- Hacker Tools Windows
- Hack Tools For Ubuntu
- Easy Hack Tools
- Tools Used For Hacking
- How To Make Hacking Tools
- Pentest Tools Bluekeep
- Pentest Tools Android
- Hacker Tools Apk
- Hacking Tools 2019
- Underground Hacker Sites
- Github Hacking Tools
- Underground Hacker Sites
- Hack Tools Github
- Beginner Hacker Tools
- Hack Tools Online
- Hacker Tools 2019
- How To Hack
- Hacker Tools Windows
- Hacker Tools For Ios
- Best Hacking Tools 2020
- Github Hacking Tools
- Hacks And Tools
- Hacking Tools Windows
- Pentest Tools For Mac
- Pentest Tools For Android
- Easy Hack Tools
- How To Hack
- Nsa Hacker Tools
- Hacking Tools Kit
- Pentest Tools Website
- Hacking Tools For Windows
- Hack Apps
- Hacker Tools For Ios
- Hack Tools
- Hacking Tools For Games
- Hacking Tools For Pc
- Nsa Hack Tools Download
- Hacker Tools Online
- Hacker Tools Free
- Pentest Tools Review
- Pentest Recon Tools
- Github Hacking Tools
- Hack Tools Online
- Pentest Tools Website Vulnerability
- Hack Tools Github
- Computer Hacker
- Nsa Hack Tools Download
- Hacking Tools For Pc
- Top Pentest Tools
- Hacking Tools Windows
- Beginner Hacker Tools
- How To Install Pentest Tools In Ubuntu
- Hack Tools
- Computer Hacker
- Blackhat Hacker Tools
- Pentest Tools Alternative
- Hacking Tools Online
- Hacking Tools For Pc
- Pentest Tools List
- Pentest Tools Linux
- Hack Tool Apk No Root
- Pentest Tools Free
- Pentest Reporting Tools
- Hacking Tools Usb
- Pentest Tools Subdomain
- Pentest Tools List
- Pentest Tools Bluekeep
- Hacking Tools Pc
- Hacker Tools Github
- Growth Hacker Tools
- Hacker Tools For Pc
- Tools 4 Hack
- Hack Tools Download
- Hacker Tools Hardware
- Pentest Tools Online
- Hacker Tools For Mac
- Tools 4 Hack
- Free Pentest Tools For Windows
- Hacker Hardware Tools
- Hack Tools 2019
- Beginner Hacker Tools
- Hack Tools 2019
- Game Hacking
- Pentest Reporting Tools
- Usb Pentest Tools
- Hack Tools Online
- Computer Hacker
- Hacker Tools 2020
- Android Hack Tools Github
- Hacker Hardware Tools
- Pentest Tools Review
- Pentest Tools Linux
- Pentest Tools Open Source
- Hack Rom Tools
- Hack And Tools
- Pentest Tools Apk
- Hack Tool Apk No Root
- Pentest Tools Kali Linux
- Top Pentest Tools
- Pentest Tools For Android
- Hacker Tools Mac
- Best Pentesting Tools 2018
- Hacker Techniques Tools And Incident Handling
- Hack Tools
- Hacker Tools Online
- Nsa Hack Tools Download
- Hack Tools For Windows
- Pentest Tools Framework
- Hacking Tools Usb
- Hacking Tools Usb
- Hacking Tools For Games
- Pentest Tools For Ubuntu
- Physical Pentest Tools
- Hacker Tools 2020
- Pentest Tools Windows
- Hackers Toolbox
- Pentest Tools Linux
- Hacker Tools For Windows
- What Is Hacking Tools
- Hack Tools Download
- Hack Apps
- Growth Hacker Tools
- Hacker Tools Hardware
- Pentest Automation Tools
- Install Pentest Tools Ubuntu
- Hacker Tools For Ios
- Hacker Tools For Pc
- Hacking Tools Usb
- Pentest Tools Online
- Hack Website Online Tool
- Hacking Tools Mac
- Hackrf Tools
- Pentest Tools Android
- Hacker Tools For Ios
- Hacking Tools Windows 10
- Tools 4 Hack
- Top Pentest Tools
- Pentest Tools Tcp Port Scanner
- Nsa Hack Tools Download
- Pentest Tools Linux
- Hacking Tools For Windows 7
- Growth Hacker Tools
- Hack App
- Top Pentest Tools
- Pentest Tools Linux
- Pentest Tools For Android