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()
- Game Hacking
- Pentest Tools Linux
- Pentest Tools Url Fuzzer
- Hacker Tools Mac
- Hacking Tools Online
- Hack Rom Tools
- Hack Tools
- Hack Tools 2019
- Hack Tools Online
- Hacker Security Tools
- Pentest Tools For Android
- Beginner Hacker Tools
- Tools Used For Hacking
- Hackrf Tools
- New Hack Tools
- Pentest Tools Port Scanner
- Pentest Tools Port Scanner
- Pentest Tools Website Vulnerability
- Pentest Tools Android
- Tools 4 Hack
- Pentest Reporting Tools
- Best Pentesting Tools 2018
- Pentest Tools List
- Hacking Tools Kit
- Pentest Tools For Android
- Hacking Tools For Kali Linux
- Hacking Tools Online
- Hacking Tools 2019
- Hacker
- Hack Rom Tools
- Hacking Tools For Beginners
- Pentest Tools Open Source
- Pentest Tools Download
- Kik Hack Tools
- Hacker Tools For Windows
- Hack Tools For Pc
- Pentest Tools Download
- Hacker Techniques Tools And Incident Handling
- Best Pentesting Tools 2018
- Best Hacking Tools 2019
- Nsa Hack Tools
- Hacking Tools Windows 10
- Hacker Tools Github
- Hacker Tools Github
- Pentest Tools Github
- Hacker Tools Linux
- Hacking Tools For Mac
- Pentest Tools For Android
- Pentest Tools Alternative
- How To Install Pentest Tools In Ubuntu
- Pentest Tools Windows
- Hacker Tools Apk
- Pentest Tools Website Vulnerability
- Hacker Tools List
- Ethical Hacker Tools
- New Hack Tools
- Hacker Search Tools
- Hacker Tools Mac
- How To Make Hacking Tools
- Best Hacking Tools 2020
- Top Pentest Tools
- Hacking Tools 2020
- Hacking Tools Pc
- Hack Tools Mac
- Hacking Tools For Games
- Nsa Hack Tools Download
- Hacking Tools And Software
- Hacker Tools Apk Download
- Hacking Tools Usb
- Hack Apps
- Tools 4 Hack
- Pentest Tools Linux
- Hacking Tools Mac
- Hack Tools For Games
- Hacking Tools And Software
- Top Pentest Tools
- Github Hacking Tools
- Android Hack Tools Github
- Top Pentest Tools
- Hacker Techniques Tools And Incident Handling
- Pentest Tools Tcp Port Scanner
- Hacking Tools For Windows
- Hacker Tools Free Download
- Hacker Tools
- Hacking Tools For Windows
- Pentest Automation Tools
- Hacking Tools 2020
- Hacker Tool Kit
- Android Hack Tools Github
- Hacking Tools For Windows
- Hack Tools Github
- Hack Tools For Games
- Hacking Tools Online
- Pentest Tools Free
- World No 1 Hacker Software
- Best Hacking Tools 2019
- Hak5 Tools
- Hacking Tools Pc
- Hacking Tools For Mac
- Hack Tools Github
- Hacker Tools 2019
- Growth Hacker Tools
- Hacker Tool Kit
- Hacker Tools For Pc
- What Is Hacking Tools
- Hack Tools 2019
- Hacker Tools Free
- Underground Hacker Sites
- Nsa Hacker Tools
- Top Pentest Tools
- Hacker Tools Apk
- Pentest Tools List
- Pentest Tools Online
- Hacker Tools Software
- Game Hacking
- Bluetooth Hacking Tools Kali
- Pentest Tools Framework
- Hack Tools Download
- Pentest Tools Windows
- Pentest Tools Website
- Hacking Tools For Games
- Tools Used For Hacking
- Ethical Hacker Tools
- Hacking Tools Pc
- Pentest Tools For Ubuntu
- Beginner Hacker Tools
- Hacking Tools Software
- New Hack Tools
- Termux Hacking Tools 2019
- Hacker Tools 2019
- Hacking Tools For Windows 7
- Hacking Tools Pc
- Pentest Tools For Ubuntu
- Wifi Hacker Tools For Windows
- Hacks And Tools
- Pentest Box Tools Download
- Pentest Tools Review
- Hack Tool Apk
- Free Pentest Tools For Windows
- Pentest Tools Framework
- Hacker Tool Kit
- Pentest Reporting Tools
- Hacking Tools Name
- Hacker Tools 2020
Aucun commentaire:
Enregistrer un commentaire