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()
- Pentest Tools Website
- Pentest Tools
- Hacker Tools Linux
- Hacking Tools For Games
- Hacker Search Tools
- Hacking Tools Windows 10
- Tools Used For Hacking
- Hack Website Online Tool
- Pentest Reporting Tools
- Hacker Tools For Ios
- Hacking Tools For Pc
- Hacking Tools For Mac
- Hacking Tools Usb
- Pentest Tools For Ubuntu
- Hacking Tools For Windows Free Download
- Hack Tool Apk No Root
- Hacking Tools
- Hacker Tools Free Download
- Hacking Tools Github
- Pentest Tools Bluekeep
- Hacker Tools Windows
- Hacking Tools Hardware
- Hack Rom Tools
- Hack Tool Apk No Root
- Best Pentesting Tools 2018
- Hacking Tools Windows 10
- Hacks And Tools
- Hacker Tools Windows
- Hacking Tools For Pc
- How To Hack
- Hack Tools Mac
- Pentest Tools List
- Hack Tools Github
- Game Hacking
- Pentest Tools Linux
- Hacking Tools For Windows
- Pentest Reporting Tools
- Hack Tools For Games
- Tools For Hacker
- Hack Website Online Tool
- Best Hacking Tools 2020
- Pentest Tools For Windows
- Hacking Tools Kit
- Hacker Security Tools
- New Hack Tools
- Pentest Tools Android
- Pentest Tools Github
- Hacking Tools Usb
- Pentest Tools For Ubuntu
- Underground Hacker Sites
- Hacking Tools Usb
- Hacker Tools For Mac
- What Are Hacking Tools
- Hacker Tools Apk Download
- Termux Hacking Tools 2019
- Computer Hacker
- Hack Tools
- Hacking Tools Pc
- Hacking Tools Free Download
- Nsa Hacker Tools
- Usb Pentest Tools
- Hacking Tools 2020
- Hack Tools For Ubuntu
- Hack App
- Hack Tools
- Hacking Tools Free Download
- Hacker Tools Free Download
- Hacking Tools Mac
- Pentest Tools Url Fuzzer
- Hacking App
- Hacking Tools Github
- Hak5 Tools
- Pentest Automation Tools
- Hack Tools Github
- Physical Pentest Tools
- Hacking Apps
- Nsa Hack Tools
- Tools Used For Hacking
- Pentest Tools List
- Pentest Tools Free
- Hacking Tools Kit
- Hacking Tools 2020
- Hacking Tools Name
- Pentest Tools Alternative
- Tools Used For Hacking
- Physical Pentest Tools
- How To Make Hacking Tools
- Hak5 Tools
- Hacker Tools For Pc
- Black Hat Hacker Tools
- Game Hacking
- Pentest Tools For Android
- Hacking Tools For Windows
- Pentest Tools Subdomain
- Hack App
- How To Install Pentest Tools In Ubuntu
- Pentest Tools Android
- Hack Tools For Ubuntu
- Pentest Tools Kali Linux
- Best Hacking Tools 2020
- New Hack Tools
- Hacking Tools Windows
- Hacking Tools Online
- Pentest Tools Nmap
- Hacker Tools For Ios
- Hacking Tools Pc
- Pentest Tools Github
- Pentest Tools List
- Pentest Tools Url Fuzzer
- What Are Hacking Tools
- Hacking Tools Free Download
- Pentest Tools Github
- Hacking Tools For Windows Free Download
- Pentest Tools Tcp Port Scanner
- Hack Tools For Pc
- Hack Rom Tools
- Hack Tools For Games
- Pentest Recon Tools
- Hacking Tools Free Download
- Hacking Tools Software
- Pentest Tools For Windows
- Hacks And Tools
- Pentest Tools Windows
- Pentest Tools Windows
- Hack Tools Online
- Pentest Tools Android
- Hacking App
- Hacking Tools 2019
- Hacker Tools
- Hacker Tools Free
- Pentest Tools Url Fuzzer
- Hacking Tools Windows 10
- Hacking Tools For Windows
- Hacking Tools For Games
- Hacking Tools Online
- Pentest Tools For Mac
- Hacking Tools Usb
- Hacker Tools Online
- What Are Hacking Tools
- Pentest Tools Alternative
- Pentest Tools Open Source
- Pentest Tools Find Subdomains
- Hacker Tool Kit
- Hacking Tools Name
- Hacking Tools Pc
- Pentest Tools Url Fuzzer
- Hacker Tools Free Download
- Hacking Tools
- Hack Tools For Mac
- Hack Tools For Games
- Bluetooth Hacking Tools Kali
- What Is Hacking Tools
- Hacker Hardware Tools
- Hacker Tools Free
- Free Pentest Tools For Windows
- Hak5 Tools
- Pentest Tools Alternative
- Pentest Tools Framework
- New Hacker Tools
- Hacker Tools Free
- Computer Hacker
- Hacker Tools List
- Hacker Tools Github
- Pentest Tools Android
- Hacker Tools Windows
- Pentest Tools For Mac
- Hacking Tools Hardware
No comments:
Post a Comment