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 posts
- Hack Tools For Windows
- Hack Tools
- Free Pentest Tools For Windows
- Hack Tools Github
- Hacking Tools Name
- Hacker Tools List
- Hacker Tools Free Download
- Tools Used For Hacking
- Hacker Tools Free Download
- Pentest Tools Port Scanner
- Hacking Tools Online
- Hacking Tools For Pc
- Growth Hacker Tools
- Hacking Tools For Mac
- Hacker Tools Software
- Hacker Tool Kit
- Computer Hacker
- Pentest Box Tools Download
- Hack Tools Pc
- Android Hack Tools Github
- Pentest Tools For Android
- Hacking Tools Kit
- Hack Tools Online
- New Hack Tools
- Pentest Tools Alternative
- Computer Hacker
- Hack Tools For Ubuntu
- Hacking Tools For Mac
- Pentest Tools Github
- Hack Tools Download
- Hacking Tools For Kali Linux
- Hacking Tools Online
- Pentest Tools Alternative
- Hacking Tools And Software
- Hacker Tools Mac
- Hak5 Tools
- Pentest Box Tools Download
- Hack Tools 2019
- Hack Tools For Mac
- New Hacker Tools
- Hacking Tools Mac
- Pentest Tools Website
- Hack Tools Online
- Pentest Tools For Android
- Hacking Tools For Pc
- Hacker Tools For Ios
- Hacking Tools For Pc
- Hack Tools Download
- Hacker Techniques Tools And Incident Handling
- Hack Tools
- Pentest Reporting Tools
- Hacking Tools Windows 10
- World No 1 Hacker Software
- Beginner Hacker Tools
- Pentest Tools Bluekeep
- New Hacker Tools
- Pentest Tools List
- Hack And Tools
- Pentest Tools Free
- Hacking Tools For Windows 7
- Hack And Tools
- Pentest Box Tools Download
- Hack App
- Hack Tools Pc
- Hacker Tools Free
- Pentest Box Tools Download
- Hacking Tools Software
- Hacking Tools For Mac
- Usb Pentest Tools
- Hacking Tools 2020
- Pentest Tools
- Hacking Tools For Games
- Hacking Tools 2019
- Pentest Tools Tcp Port Scanner
- Hack Website Online Tool
- Hack Apps
- Bluetooth Hacking Tools Kali
- Pentest Tools Nmap
- Hacker Techniques Tools And Incident Handling
- Nsa Hack Tools Download
- Hacking Tools Free Download
- Hack Tools For Ubuntu
- Pentest Tools Apk
- Ethical Hacker Tools
- Hacker Tools For Mac
- Hacking Tools Usb
- Pentest Tools For Android
- Wifi Hacker Tools For Windows
- Pentest Tools Url Fuzzer
- Hack Tools
- Hacking Tools For Kali Linux
- Pentest Tools Review
- Hacker Tool Kit
- Pentest Box Tools Download
- Pentest Tools Subdomain
- Hacking Tools 2020
- Hacking Tools 2020
- Best Hacking Tools 2019
- Install Pentest Tools Ubuntu
- How To Hack
- Hack Tools For Ubuntu
- Hacker Tools Free Download
- Pentest Tools Github
- How To Make Hacking Tools
- Hacking Tools For Windows 7
- Hacking Tools For Kali Linux
- Hacker Tools Free
- Pentest Tools Free
- Hacker Tools List
- Hacking Tools And Software
- Pentest Tools
- Pentest Tools Website Vulnerability
- Hacker Tools Apk Download
- Tools For Hacker
- Pentest Tools Apk
- Hacker Tools Online
- Github Hacking Tools
- Pentest Tools Windows
- Best Hacking Tools 2020
- Hacker Tools Github
- Hacking Tools Usb
- Hacking Tools Pc
- Physical Pentest Tools
- Pentest Tools Find Subdomains
- Hacker Tools 2019
- Easy Hack Tools
- Easy Hack Tools
- Tools 4 Hack
- Pentest Tools Kali Linux
- Hacker Tools Windows
- Hacker Tools Hardware
- Pentest Tools Website
- Hacking Tools Hardware
- Pentest Tools For Android
- Free Pentest Tools For Windows
- Hacker Search Tools
- Tools Used For Hacking
- Hacker Hardware Tools
- Pentest Tools Tcp Port Scanner
ไม่มีความคิดเห็น:
แสดงความคิดเห็น