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()
More information
- How To Install Pentest Tools In Ubuntu
- Hacking Tools
- Hacking Tools
- Hacker Tools Apk
- Pentest Tools Free
- Hack Tools
- Hacking Tools 2019
- World No 1 Hacker Software
- Hack Tools
- Pentest Tools For Windows
- Hacker Tools For Mac
- Hack Website Online Tool
- Best Hacking Tools 2020
- Kik Hack Tools
- Hacker Tools Software
- Hack Website Online Tool
- How To Make Hacking Tools
- Hacking Tools
- Hacking Tools For Windows 7
- Hackers Toolbox
- How To Install Pentest Tools In Ubuntu
- How To Install Pentest Tools In Ubuntu
- Hacking Tools
- Hacking Tools Online
- Hacks And Tools
- Hacking Tools For Kali Linux
- Pentest Tools Linux
- Hacker Search Tools
- Hacker Hardware Tools
- Hacker Tools Linux
- Hack Tools Github
- Hacking Tools Download
- Hacking Tools Online
- Growth Hacker Tools
- Game Hacking
- Hacking App
- Pentest Tools List
- Bluetooth Hacking Tools Kali
- Kik Hack Tools
- Pentest Tools For Android
- Github Hacking Tools
- Hacks And Tools
- Pentest Tools Nmap
- Hacking Tools For Kali Linux
- Pentest Tools For Android
- Hack Tools For Pc
- Hacking Tools Windows
- Pentest Tools For Android
- Hacker Techniques Tools And Incident Handling
- Pentest Tools Tcp Port Scanner
- Pentest Tools Subdomain
- Hacker Tools Mac
- Hacking Tools Free Download
- Hack Tools Mac
- Hack Tools Download
- Hacker Search Tools
- Hacking Apps
- Hacking Tools Github
- Tools 4 Hack
- Hacker Search Tools
- Tools 4 Hack
- Pentest Tools Website
- Install Pentest Tools Ubuntu
- Blackhat Hacker Tools
- Pentest Tools Android
- Hack Tools For Mac
- Hacker Tools 2019
- Hacker Tools Software
- What Are Hacking Tools
- Hack Tool Apk
- Pentest Tools
- Hacking Tools For Games
- Hacker Tools List
- Pentest Tools Linux
- Pentest Tools Android
- Nsa Hack Tools
- Hack Tools 2019
- Hacking Apps
- Hacking Tools Windows 10
- Hacking Tools Software
- Pentest Tools Apk
- Hacker Tools List
- Hacking Tools For Windows Free Download
- Hacking Tools For Kali Linux
- Hacker Tools Github
- Hacking Tools For Kali Linux
- New Hack Tools
- Hack Website Online Tool
- Hack Tools Download
- Pentest Tools For Mac
- Hacker Tools Online
- Hacker Tools For Mac
- Best Hacking Tools 2019
- Hacker Tools For Windows
- Hacking Tools Download
- Pentest Tools List
- Hacking Tools For Windows
- Hack Tool Apk
- Hacking Tools For Windows
- Pentest Tools Github
- Hacking Tools For Beginners
- Install Pentest Tools Ubuntu
- Hack Tools For Pc
- Hacker Tools 2019
- Hack Tools Download
- Hack Tools For Pc
- Pentest Reporting Tools
- Hacker Search Tools
- Hacker Tools Free Download
- Hacking Tools Windows
- Best Pentesting Tools 2018
- Hacker Tools Apk
- Hacker Tools Github
- Hack Tools 2019
- Hacker Hardware Tools
- How To Make Hacking Tools
- Hack Tools Pc
- Pentest Tools
- Hacker Tools
- Pentest Tools Tcp Port Scanner
- Hacking Tools Windows
- Hacker Tools Free Download
- Hacker Tools Free Download
- Termux Hacking Tools 2019
- Hacker Tools Free
- World No 1 Hacker Software
- What Are Hacking Tools
- How To Make Hacking Tools
- Kik Hack Tools
- Hack Tools For Games
- Hacking Tools Github
- Hack Tools
- Pentest Tools Framework
- Hacking Tools Mac
- Hack Rom Tools
- Hacking Tools For Beginners
- Hacker Tools Apk Download
- Pentest Tools List
- Hacking Tools For Games
- Hacker Tools Free Download
No hay comentarios:
Publicar un comentario