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()
- Termux Hacking Tools 2019
- Pentest Tools Framework
- Pentest Tools Nmap
- Top Pentest Tools
- Hack Tool Apk No Root
- Hack Tools
- Top Pentest Tools
- Pentest Tools Find Subdomains
- Hacking Tools Usb
- Black Hat Hacker Tools
- Pentest Tools Framework
- Best Pentesting Tools 2018
- Black Hat Hacker Tools
- Hack Tools For Mac
- World No 1 Hacker Software
- Hacker Tools Linux
- Best Hacking Tools 2020
- Hacker Tools Software
- Hack Tools Mac
- Black Hat Hacker Tools
- Pentest Tools Url Fuzzer
- Wifi Hacker Tools For Windows
- Pentest Tools For Mac
- Pentest Reporting Tools
- Hacker Tools Windows
- Ethical Hacker Tools
- Pentest Tools For Mac
- What Are Hacking Tools
- Hacker Tools For Mac
- Hack And Tools
- Free Pentest Tools For Windows
- Pentest Tools Bluekeep
- Hacking App
- Pentest Tools For Android
- Hacker Tools Apk
- Pentest Tools Kali Linux
- Hacker Tools Online
- Github Hacking Tools
- Pentest Tools Subdomain
- Hacking Tools Download
- Hacker Tools For Ios
- Hacks And Tools
- Hacker Tools Linux
- Best Pentesting Tools 2018
- Free Pentest Tools For Windows
- Hacker Tool Kit
- Hack Tools 2019
- Hacker Tool Kit
- Hack Tool Apk
- Github Hacking Tools
- Tools 4 Hack
- Hack Tool Apk No Root
- Hak5 Tools
- Android Hack Tools Github
- Termux Hacking Tools 2019
- What Is Hacking Tools
- Hak5 Tools
- Hack Tools For Ubuntu
- New Hacker Tools
- Hack Tool Apk
- Hacking Tools For Windows
- Hacking Tools Github
- Physical Pentest Tools
- Hacking Tools
- Hacking Tools Github
- Hack Tools Github
- Hacker Tool Kit
- Hacking Tools Usb
- Hacking Tools Windows
- Pentest Tools Port Scanner
- Hacking Tools Download
- Hack Tools
- Tools For Hacker
- Hacking Tools Mac
- Hacking Tools Pc
- Pentest Tools Android
- Github Hacking Tools
- Hacker Tools For Windows
- Hacker Search Tools
- Hacking Tools Pc
- Hacking Tools Windows 10
- Hack Tools Pc
- Pentest Tools Tcp Port Scanner
- Hack Tools Github
- Hack Tools
- Kik Hack Tools
- Hackers Toolbox
- Computer Hacker
- Hacking Tools For Windows 7
- Tools 4 Hack
- Pentest Reporting Tools
- Hacker Tools For Pc
- Hackers Toolbox
- What Is Hacking Tools
- Hacker Search Tools
- Hack And Tools
- Pentest Tools List
- Hack Tools Download
- Blackhat Hacker Tools
- Hacker Tools Free Download
- Hacker Tools 2019
- Hacking Tools Github
- Hacker Tools Apk
- Pentest Tools Subdomain
- Hacking Tools Github
- Pentest Tools Framework
- Pentest Tools Linux
- Pentest Tools Android
- What Are Hacking Tools
- Hacker Tools For Ios
- Hacker Search Tools
- Hacking Tools Name
- Android Hack Tools Github
- Wifi Hacker Tools For Windows
- Hack Tool Apk
- Install Pentest Tools Ubuntu
- Hack Tools 2019
- Underground Hacker Sites
- Hack Tools For Ubuntu
- Hack Tools Mac
- Pentest Tools Linux
- Usb Pentest Tools
- Pentest Tools Tcp Port Scanner
- Pentest Tools Framework
- Free Pentest Tools For Windows
- World No 1 Hacker Software
- Hacking Tools For Mac
- Hacking Tools Pc
- Hacker Techniques Tools And Incident Handling
- Hacking Tools For Games
- Top Pentest Tools
- Hackers Toolbox
- How To Hack
- New Hacker Tools
- Pentest Tools Port Scanner
- Hacker Tools Free Download
- Pentest Box Tools Download
- Beginner Hacker Tools
- Hacking Tools Windows 10
- Hacking Tools And Software
- Hacking Tools Pc
- Hacker Techniques Tools And Incident Handling
- Best Hacking Tools 2020
- Beginner Hacker Tools
- Top Pentest Tools
- Hack And Tools
- Pentest Tools Framework
- New Hack Tools
- Hacking Tools For Windows
Ingen kommentarer:
Legg inn en kommentar