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
- Pentest Tools Linux
- Hacker Techniques Tools And Incident Handling
- Pentest Tools Review
- Hacker Tools Free
- Hacking Tools For Kali Linux
- Hack Tools Mac
- Physical Pentest Tools
- Nsa Hack Tools Download
- Pentest Tools Kali Linux
- Hack Tools For Pc
- Tools For Hacker
- Pentest Tools List
- World No 1 Hacker Software
- Game Hacking
- Hacking Tools Kit
- Blackhat Hacker Tools
- Computer Hacker
- Hacker Tools 2019
- What Are Hacking Tools
- Pentest Tools Review
- Hacking Tools Software
- Hacker Tools Windows
- Pentest Tools Android
- Pentest Tools Download
- Hacker Tools Windows
- Pentest Tools Linux
- Hack And Tools
- Hak5 Tools
- Hacker Tools Apk
- Pentest Tools For Ubuntu
- Easy Hack Tools
- Hacking Tools Online
- Hacks And Tools
- Pentest Tools For Windows
- Hacking Tools Pc
- Hacker Tools List
- Hacks And Tools
- What Is Hacking Tools
- Hack Tool Apk No Root
- World No 1 Hacker Software
- Hack Rom Tools
- Hacker Tools
- Hack Apps
- Hacking Tools For Pc
- Hacker Tool Kit
- Hacking Tools Free Download
- Hacking Tools For Kali Linux
- Hacking Tools Windows 10
- Hacking Tools Github
- Pentest Tools Subdomain
- Hacker Tools List
- Hacking Tools Name
- Hack Website Online Tool
- Hacker Tools Online
- Hacker Tools Free
- Hack Tools
- Hacking Tools For Games
- Game Hacking
- Hacking Tools For Kali Linux
- Pentest Tools Download
- Pentest Tools Kali Linux
- Hacking Tools Usb
- Hacker Tools Mac
- Hack App
- Hacking Tools Download
- Hacker Tools Apk Download
- Blackhat Hacker Tools
- Hacker Tools Online
- Hack Tools Github
- Hacking Tools Pc
- Nsa Hacker Tools
- Hacking Tools
- Hacker
- Hacker Tools For Pc
- Hacker Tools For Windows
- Pentest Tools Online
- Termux Hacking Tools 2019
- Pentest Tools Tcp Port Scanner
- Hackrf Tools
- New Hack Tools
- Hack Tools Pc
- Hack Tools For Windows
- Hacking Tools
- Hacking Tools 2019
- Pentest Tools Download
- Blackhat Hacker Tools
- Pentest Tools Windows
- Best Hacking Tools 2019
- Pentest Tools Framework
- Hack Apps
- Hacking Tools For Kali Linux
- Hacking App
- Pentest Tools Online
- Free Pentest Tools For Windows
- Blackhat Hacker Tools
- Pentest Tools Windows
- Pentest Tools Github
- Github Hacking Tools
- Tools For Hacker
- Hacker Tools Apk Download
- Hacker Tools Online
- Pentest Automation Tools
- Hacker Tools Free Download
- Hacker Tools List
- Hack Tools Pc
- Hacking Tools For Kali Linux
- Best Hacking Tools 2020
- Pentest Tools Android
- Hack Apps
- Hacking Tools Github
- Hacking Tools For Windows 7
- Hack Website Online Tool
- Hacking Tools Github
- How To Install Pentest Tools In Ubuntu
- Hack Tools Online
- Hack Tools For Mac
- Pentest Automation Tools
- Bluetooth Hacking Tools Kali
- Blackhat Hacker Tools
- Pentest Tools Find Subdomains
- Pentest Tools Free
- Pentest Tools Framework
- Hack Rom Tools
- Beginner Hacker Tools
- Hack Tool Apk No Root
- Hacking Tools Name
- Nsa Hack Tools
- Hacker Tools For Mac
- Hacker Search Tools
- Hacking Tools Free Download
- Pentest Tools Open Source
- Hacking Tools Usb
- Hacking Tools 2019
- Hacking Tools And Software
- Hacks And Tools
- Usb Pentest Tools
- Hack Tools Download
- Hack Tools Github
No hay comentarios.:
Publicar un comentario