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 links
- Hacking Tools For Beginners
- Easy Hack Tools
- Pentest Tools Alternative
- Hacking Tools Mac
- Hacking Tools Mac
- Hacking Tools Pc
- How To Install Pentest Tools In Ubuntu
- Hack Tools Download
- World No 1 Hacker Software
- Install Pentest Tools Ubuntu
- Hacker Tools For Pc
- Hack Tools
- Hack Tools For Windows
- Beginner Hacker Tools
- Install Pentest Tools Ubuntu
- Nsa Hack Tools Download
- Hacker Tools 2020
- What Are Hacking Tools
- Hacking Tools And Software
- New Hacker Tools
- Hack Tools For Games
- Hacking Tools Download
- Pentest Tools Free
- Hacking Tools Software
- Pentest Tools Tcp Port Scanner
- Hacker Tools Online
- Nsa Hack Tools
- Best Hacking Tools 2019
- Nsa Hack Tools
- Hack Tool Apk
- Hack Website Online Tool
- Hacker Techniques Tools And Incident Handling
- Hacking Tools For Games
- Tools 4 Hack
- Pentest Tools Windows
- Hacking Tools Mac
- Pentest Recon Tools
- Hack Tools For Ubuntu
- Hack Rom Tools
- Best Hacking Tools 2019
- Pentest Tools For Mac
- Pentest Tools
- Pentest Tools Free
- Hack Website Online Tool
- Blackhat Hacker Tools
- Hacker Hardware Tools
- Underground Hacker Sites
- Hacking Tools For Games
- Hacking Tools Windows 10
- Hacking Tools Online
- Hacking Tools For Games
- Hacker Tools Apk Download
- Pentest Tools For Mac
- Hacking Tools Free Download
- Pentest Tools Website Vulnerability
- Hacking Tools Online
- Hacking Tools For Windows Free Download
- Best Hacking Tools 2020
- Pentest Tools Port Scanner
- Hacker Tools Free
- Hackers Toolbox
- Wifi Hacker Tools For Windows
- Hack Tools Download
- Hack Apps
- Hack Tools For Ubuntu
- Hack Tools
- Blackhat Hacker Tools
- Hacking Tools Software
- Hacking Tools
- Pentest Tools Alternative
- Hacking Tools 2019
- How To Make Hacking Tools
- Hacker Tools For Mac
- Hacking Tools Mac
- Hacker Tools Hardware
- Hack App
- Hacker Tools Linux
- Hacking Apps
- Hacker Tools Software
- Tools For Hacker
- Hack Tools
- Hacker Tools Software
- Hacking Tools For Windows Free Download
- Hak5 Tools
- Physical Pentest Tools
- Hak5 Tools
- Hack Tools For Games
- Underground Hacker Sites
- Hack Tool Apk No Root
- Hack Tools For Ubuntu
- How To Hack
- Nsa Hack Tools
- Hacker Tools Software
- Pentest Tools Windows
- Nsa Hacker Tools
- Pentest Tools Open Source
- World No 1 Hacker Software
- Pentest Tools Find Subdomains
- Pentest Tools Free
- Pentest Tools Alternative
- Hack Tool Apk No Root
- Pentest Automation Tools
- Hacker Tools Windows
- Hack Tools For Games
- Pentest Tools Online
- Pentest Tools Tcp Port Scanner
- Pentest Tools Tcp Port Scanner
- Hackrf Tools
- Hack Tools For Mac
- Hacker Tools Free
- New Hacker Tools
- Hacker Tools Github
- Hacking Tools Software
- How To Install Pentest Tools In Ubuntu
- Pentest Tools Alternative
- Beginner Hacker Tools
- Hack Tools 2019
- Hacker Tools Free
- Hacker Techniques Tools And Incident Handling
- Hacking Tools For Windows
- Pentest Tools Subdomain
- Install Pentest Tools Ubuntu
- Hacking Tools Usb
- Hack Tools For Ubuntu
- Hack Tools For Ubuntu
- Hacker Techniques Tools And Incident Handling
- Hacker Tools Windows
- Pentest Tools Free
- Pentest Tools Android
- Hacking Tools Windows 10
- Hacker Tools Github
- Hacker Tools Online
- Hack Tools Mac
- Hacking App
- Pentest Tools Download
- Hacking Tools For Windows
- Hacker Tools For Mac
- Pentest Tools Linux
- Pentest Tools For Ubuntu
- Pentest Tools Tcp Port Scanner
- Hacking Tools Pc
- Hacking Tools Online
- How To Make Hacking Tools
- Best Hacking Tools 2020
- Hacker Tools Github
0 comments:
Post a Comment