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()
- Hacking App
- Hacker Security Tools
- Hack Website Online Tool
- Pentest Tools Website Vulnerability
- Hacker Tools 2020
- Underground Hacker Sites
- Hacker Tools 2020
- Hacking Tools Name
- Hack Tools Online
- Hacking Tools Windows 10
- Hack Tools Github
- Hack Tool Apk No Root
- Hack App
- Pentest Tools For Ubuntu
- Hacker Tool Kit
- Tools 4 Hack
- Pentest Tools For Mac
- World No 1 Hacker Software
- Ethical Hacker Tools
- Hack Tools For Games
- Pentest Tools Framework
- Hacking Tools For Games
- Pentest Tools Framework
- Hacker
- Best Hacking Tools 2020
- Pentest Tools Tcp Port Scanner
- Pentest Tools Github
- Pentest Tools Github
- Hack Tools Mac
- Hacker Tools For Pc
- Hack Tools For Pc
- Hacker Tools Free Download
- Pentest Tools Review
- Hacking App
- Pentest Tools Download
- Computer Hacker
- Hacking Tools For Windows
- Hacks And Tools
- Usb Pentest Tools
- Underground Hacker Sites
- Pentest Tools Linux
- Hack App
- Hacking Tools Free Download
- Hack App
- How To Make Hacking Tools
- Hacking Tools
- Hacking Tools For Kali Linux
- Hacker Tools Windows
- Hack Rom Tools
- Termux Hacking Tools 2019
- Hacker Tools For Windows
- Pentest Tools Url Fuzzer
- Hacker Techniques Tools And Incident Handling
- How To Make Hacking Tools
- Hacking Tools For Pc
- Pentest Tools Kali Linux
- Blackhat Hacker Tools
- Pentest Tools Apk
- Bluetooth Hacking Tools Kali
- Hacking Tools Free Download
- World No 1 Hacker Software
- Pentest Tools Nmap
- Hak5 Tools
- Hacker Security Tools
- Growth Hacker Tools
- Hacker Tools For Ios
- Hacker Tools Apk Download
- Top Pentest Tools
- Hacker Tools Online
- Hack Tools
- Hacking Tools For Games
- Physical Pentest Tools
- Pentest Tools Tcp Port Scanner
- Hack Tools 2019
- Hacker Tools Hardware
- Hacking Tools Kit
- Easy Hack Tools
- Pentest Automation Tools
- Pentest Tools Android
- Top Pentest Tools
- Hacker Tools 2019
- Hacking Tools For Windows Free Download
- New Hack Tools
- Pentest Tools Free
- Beginner Hacker Tools
- Hack Tools For Windows
- Free Pentest Tools For Windows
- Hacker Tools Apk Download
- Hack Tools For Ubuntu
- Hacking Tools 2020
- Tools For Hacker
- Ethical Hacker Tools
- Underground Hacker Sites
- Hacks And Tools
- Hack Tools
- Easy Hack Tools
- Pentest Tools Online
- Hacker Tools Online
- Hack Tools For Ubuntu
- Pentest Tools Framework
- Hack And Tools
- Hacking Tools Github
- Hack Tools For Windows
- Hackers Toolbox
- Hacker Tools
- Hacking Tools Kit
- Easy Hack Tools
- Hacking Apps
- Install Pentest Tools Ubuntu
- How To Make Hacking Tools
- Hacking Tools And Software
- Hacker Tools Apk Download
- Usb Pentest Tools
- Nsa Hack Tools Download
- Hack Tools Github
- Usb Pentest Tools
- Hacker
- Tools Used For Hacking
- Hack Tools For Windows
- Hacker Tools Mac
- World No 1 Hacker Software
- Hak5 Tools
- Hacker Tools Free
- Pentest Tools Android
- Hack Website Online Tool
- Pentest Tools Tcp Port Scanner
- Hacking Tools Online
- Pentest Tools Windows
- Hacker Hardware Tools
- Hack Tools For Mac
- Kik Hack Tools
- Pentest Tools For Windows
- Hacking Tools For Windows Free Download
- Hacker Tools For Pc
- Pentest Tools
- Hacking Tools And Software
- Hacker Techniques Tools And Incident Handling
- Hack Rom Tools
- Hack Tools 2019
- Hack Tools Mac
- Hacking App
- Hack Tools Github
- Beginner Hacker Tools
- Hacking Tools 2020
- Hacking Tools Name
- How To Hack
- Pentest Automation Tools
- Hacker Tools Github
- Hacking Tools For Windows Free Download
- Hacking Tools Hardware
- Black Hat Hacker Tools
No hay comentarios:
Publicar un comentario