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 Tools For Windows
- Tools 4 Hack
- Pentest Tools Subdomain
- Pentest Automation Tools
- Pentest Tools Tcp Port Scanner
- Hack App
- Hacker Tools 2019
- Pentest Tools Tcp Port Scanner
- Pentest Tools Apk
- Hacking Tools For Kali Linux
- Top Pentest Tools
- Pentest Tools Download
- Physical Pentest Tools
- Hacking Tools For Windows 7
- Nsa Hacker Tools
- Hack Tool Apk
- Hacking Tools Online
- Hacker Tools For Ios
- Hacks And Tools
- Hacker Tools Github
- Hack App
- Pentest Tools Download
- Hacker Tools Apk
- Hacking Tools Windows 10
- Hackers Toolbox
- Hack Tool Apk
- Hacker Tool Kit
- Pentest Tools For Windows
- Easy Hack Tools
- Hacking Tools
- Pentest Tools List
- Hacking App
- Pentest Tools Free
- Hack Tools
- Pentest Tools
- Hacking Tools Kit
- Hacker Tools Hardware
- Android Hack Tools Github
- Termux Hacking Tools 2019
- Hacking Tools Name
- Pentest Tools Open Source
- Hack Website Online Tool
- Hacking Tools For Kali Linux
- Hacker Tools
- Computer Hacker
- Hacking Tools And Software
- Pentest Tools Tcp Port Scanner
- Pentest Tools Windows
- Pentest Tools Review
- Pentest Tools Port Scanner
- Hack Tools Pc
- Hack Tools Download
- Hacking Tools Name
- Pentest Tools Alternative
- Pentest Tools Tcp Port Scanner
- Hacker Tools Windows
- Pentest Tools Online
- Hack Tools For Games
- Hacking Tools Github
- Game Hacking
- Ethical Hacker Tools
- Hacking Tools Kit
- Hackers Toolbox
- Pentest Tools Alternative
- Hacker Tools 2020
- Pentest Tools Android
- Best Hacking Tools 2019
- Pentest Tools Alternative
- Hacking Tools For Mac
- Pentest Tools Nmap
- Blackhat Hacker Tools
- Black Hat Hacker Tools
- Pentest Tools Framework
- What Is Hacking Tools
- Growth Hacker Tools
- Hacking Tools For Pc
- Hacking Tools Github
- Pentest Tools Website Vulnerability
- Hacker Tools
- Easy Hack Tools
- Black Hat Hacker Tools
- Hack Tools For Mac
- Pentest Tools Github
- Hacking Tools Software
- Pentest Tools Alternative
- Kik Hack Tools
- Hacker Tools For Mac
- How To Hack
- Hacking Tools Hardware
- Pentest Tools Website
- Hack Website Online Tool
- Pentest Reporting Tools
- Pentest Tools For Mac
- Hacking Tools Windows 10
- Hacking Tools For Mac
- Hack Tools
- Hacking Tools For Pc
- Hacker
- Tools Used For Hacking
- Pentest Tools Review
- Hacker Tools 2019
- Hacking Tools Github
- Pentest Tools For Mac
- Hacking Tools Usb
- Hack Tools Github
- Install Pentest Tools Ubuntu
- How To Hack
- Hacker Tools Free Download
- Hacking Tools Hardware
- New Hack Tools
- Hacker Tools Hardware
- Pentest Box Tools Download
- Bluetooth Hacking Tools Kali
- Hacker
- Hacking Tools Github
- Hacker Tools 2020
- Hacking Tools For Windows 7
- Hacks And Tools
- Pentest Tools Windows
- Hacking Tools For Windows Free Download
- Hacking Tools For Pc
- Hacking Apps
- Pentest Automation Tools
- Hack Tools For Pc
- Hack Tools For Ubuntu
- Hack Tools Mac
- Hacker Tools Mac
- Install Pentest Tools Ubuntu
- Hacking Tools Free Download
- Hack Tools Online
- Hack Tools Download
- Hacker Tools For Pc
- Hacker Tools For Pc
- Hacker Tools Apk Download
- Top Pentest Tools
- Tools Used For Hacking
- Install Pentest Tools Ubuntu
- Pentest Tools Kali Linux
- New Hacker Tools
- Hacker Tools List
- Hacking Tools Download
- Hack Tools 2019
- Hack Tools Online
- Pentest Tools Tcp Port Scanner
- Hack Tools
- Pentest Tools For Windows
- Hacking App
- Pentest Tools Apk
- Pentest Tools Open Source
- New Hack Tools
- Hack Tools
- Hacker Tools Hardware
No comments:
Post a Comment