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()
Continue reading
- Hack Rom Tools
- Hacker Techniques Tools And Incident Handling
- Hacker Tools 2020
- Nsa Hack Tools
- Hacker Tools For Windows
- Hacking Tools Github
- Hacking Tools For Windows 7
- Hackers Toolbox
- Pentest Tools Website
- Pentest Tools Find Subdomains
- Pentest Recon Tools
- Hack Website Online Tool
- Hacking Tools Free Download
- Hacking App
- Hacking Tools For Games
- Pentest Tools Framework
- Hacker Tools Windows
- New Hack Tools
- Pentest Tools Linux
- Github Hacking Tools
- Hack Tools For Mac
- Hacker Tools For Ios
- Best Pentesting Tools 2018
- Hacker Tools 2020
- Pentest Tools Free
- Hack Tools Online
- Hacking Apps
- Hack Tools Download
- Tools For Hacker
- Hack Tools Github
- Usb Pentest Tools
- Nsa Hack Tools
- Pentest Tools Url Fuzzer
- Hack And Tools
- Hack App
- Hacking Tools
- Hacker Hardware Tools
- Beginner Hacker Tools
- Pentest Tools Windows
- Hacking Tools For Games
- Nsa Hack Tools Download
- Hack Tools For Pc
- Pentest Tools Port Scanner
- Pentest Tools For Windows
- Blackhat Hacker Tools
- Hacker Tools Apk
- Pentest Tools Open Source
- Hacking Tools For Windows Free Download
- What Is Hacking Tools
- Hacking Tools Online
- Easy Hack Tools
- Hack App
- Hacking Tools Windows
- Hacking Tools Name
- How To Hack
- Growth Hacker Tools
- Physical Pentest Tools
- Hacker Tools 2019
- Pentest Tools List
- Hacking Tools Github
- Pentest Tools
- Hacker Techniques Tools And Incident Handling
- Hacker Tools
- Hacker Tools List
- Hacking Tools For Beginners
- Pentest Tools Windows
- Beginner Hacker Tools
- Pentest Box Tools Download
- Hack Website Online Tool
- Hack Tools Download
- Hacker Tools Linux
- Physical Pentest Tools
- Nsa Hacker Tools
- Hack Website Online Tool
- Pentest Tools Github
- Hacker Tools Free Download
- Pentest Tools Apk
- Pentest Tools Linux
- Hacking Tools And Software
- Pentest Tools Framework
- Hacker Tools Software
- Github Hacking Tools
- Hack Tools For Windows
- Beginner Hacker Tools
- Hacker Search Tools
- Pentest Tools Tcp Port Scanner
- Termux Hacking Tools 2019
- Pentest Box Tools Download
- Best Hacking Tools 2019
- Bluetooth Hacking Tools Kali
- Hacker Tools Windows
- Hacks And Tools
- What Is Hacking Tools
- Nsa Hack Tools Download
- Hacker Tools Free
- Nsa Hack Tools
- Hacker Security Tools
- Pentest Tools
- Pentest Tools Alternative
- Hacking Tools For Games
- Github Hacking Tools
- Hack Tools For Ubuntu
- Pentest Tools Website Vulnerability
- Growth Hacker Tools
- Growth Hacker Tools
- Hack Tools
- New Hacker Tools
- Computer Hacker
- Nsa Hack Tools Download
- Pentest Tools Tcp Port Scanner
- Hacking Tools For Beginners
- Pentest Box Tools Download
- Wifi Hacker Tools For Windows
- Pentest Tools For Ubuntu
- Usb Pentest Tools
- Hacker Tools Windows
- How To Install Pentest Tools In Ubuntu
- Hacker Tools List
- Pentest Tools List
- Termux Hacking Tools 2019
- Best Hacking Tools 2019
- Hacker Tools 2019
- Pentest Reporting Tools
- Hacking Tools Hardware
- Pentest Tools Website
- Hacking Tools Name
- How To Hack
- Hacking Tools Windows 10
- Hacking Tools Windows 10
- Hacking Tools Free Download
- Tools Used For Hacking
- Pentest Tools List
- Hacker Tools 2020
- Pentest Tools Nmap
- Hacker Search Tools
- Hack Website Online Tool
- Pentest Recon Tools
- Pentest Reporting Tools
- World No 1 Hacker Software
- Nsa Hack Tools Download
- Pentest Tools Open Source
- Hacker Tools Windows
- Hacker Tools Software
- Hack Tools
- New Hacker Tools
- Hacker Tools Online
- What Is Hacking Tools
No comments:
Post a Comment