α αα α!
ααααΈαααααααα»αααΆαααΎααααααααααΆαααΆαααααααααααΈααααααα·ααΈ αααααααααΎααααααα·ααΈαααααΆα Flask ααααΆαααααα½αααααα’αααα α αΎααααα»αααΆααααααα α α·αααααααα½αααααα½αα ααααααΉααααααααα»ααα αααα»ααααααααα½αα ααα½αα αααα»ααα·αααΉαααΆααααΌααααααα’αααΈααΆααΌααα α αΎααααα·αααΆααααααααα»αααΆ "α ααα»α’αααΈαα·ααααααΎα mini-backdoor αα ααΎ Flask?"
αααΆααααααααααΌαααααΆαα’αα»αααααα·αααααααΆααα backdoor ααααΆααααΆαααα α‘αΎααα αααα»αααααΆααααααααα»αα ααα»αααααααα»αααΆααααααα α α·αααα ααααααααααΈαααα»αααΆα backdoor ααααΆααα
- ααΉαααΈααααααΎαααα ααααα
- ααΆααα·αααα·α αΌαααααΎαααααΆααααΆααααααααΆ
- α’αΆα ααΎααααααα·ααΈ ααΌααα ααΈααα’αΌ
ααΌα
αααα α
ααα»α
ααΈαα½αααΊααΆααααα½ααααα»ααααα»αααΆαα’αα»αααααααααααΎαααΌαα»ααααααα·ααΈαα»αααααΆαα’ααΈαααΊαα·αα αααα»αααΆααααααα
α
α·αααα’αα»ααααα
ααα»α
ααΈααΈααααααααΎαααΌαα»α os α α αΎαααΈααΈααααΆαααααααΌαα»α os ααα»αααααααα»αααΉαααααΎ "αααααααΆαα" (ααααααααααα
αααααααα) α
ααΆαααααααααΆαααΈααα
ααΌα αααα *drumroll* ααΌααααΆαααΈαααααΆααα’ααα
from flask import Flask, request
import webbrowser
import os
import re
app = Flask(__name__)
@app.route('/mycomp', methods=['POST'])
def hell():
json_string = request.json
if json_string['command'] == 'test':
return 'The server is running and waiting for commands...'
if json_string['command'] == 'openweb':
webbrowser.open(url='https://www.'+json_string['data'], new=0)
return 'Site opening ' + json_string['data'] + '...'
if json_string['command'] == 'shell':
os.system(json_string['data'])
return 'Command execution ' + json_string['data'] + '...'
if json_string['command'] == 'link':
links = open('links.txt', 'r')
for i in range(int(json_string['data'])):
link = links.readline()
os.system(link.split('>')[0])
return 'Launch ' + link.split('>')[1]
if __name__ == '__main__':
app.run(host='0.0.0.0')
αααα»αβααΆαβαααβααΌαβααΆααβα’ααβαα½α βα αΎα ααΆβαααβαααβααααΌαβααααααβααααΉαααΆαβα αΎαα
αααααΌαααΆααα’ααααααΌαααΆαααααΎαααΆααα ααΎαααΆαααΈαααΌαααααΆααα ααΎα ααα 5000α ααΎααααΈααααΎα’ααααααααααΆαα½ααααΆαααΈααα ααΎαααααΌαααααΎααααΎ JSON POST α
ααααΎαα»ααα ααΆαααααααα JSONα
{βcommandβ: βcomecommandβ, βdataβ: βsomedataβ}
ααΆααΆααααααΎαααΆαα, ααΆααα ααα»ααααΆ 'ααΆααααααααΆ' ααΊααΆααΆααααααααΆαααααΎαα ααααααα·ααααα·α α αΎα 'αα·αααααα' ααΊααΆα’αΆαα»αααααααΆααααααααΆα
α’αααα’αΆα ααααα αα·αααααΎααααΎ JSON ααΎααααΈααααΎα’ααααααααααΆαα½ααααΆαααΈαααααααα (ααααΎααΉααα½αα’ααα)α α αΎαααΆααΊα’αΆα ααααΎαα ααΆαααΎααααΈααααααααΆαααΈαααααααα»αααΌαα
ααΆααααααα’αα·αα·αα
αααααΌα:
import requests
logo = ['nn',
'****** ********',
'******* *********',
'** ** ** **',
'** ** ** ** Written on Python',
'******* ** **',
'******** ** **',
'** ** ** ** Author: ROBOTD4',
'** ** ** **',
'** ** ** **',
'******** *********',
'******* ********',
'nn']
p = ''
iport = '192.168.1.2:5000'
host = 'http://' + iport + '/mycomp'
def test():
dict = {'command': 'test', 'data': 0}
r = requests.post(host, json=dict)
if r.status_code == 200:
print (r.content.decode('utf-8'))
def start():
for i in logo:
print(i)
start()
test()
while True:
command = input('>')
if command == '':
continue
a = command.split()
if command == 'test':
dict = {'command': 'test', 'data': 0}
r = requests.post(host, json=dict)
if r.status_code == 200:
print (r.content.decode('utf-8'))
if a[0] == 'shell':
for i in range(1, len(a)):
p = p + a[i] + ' '
dict = {'command': 'shell', 'data': p}
r = requests.post(host, json=dict)
if r.status_code == 200:
print (r.content.decode('utf-8'))
p = ''
if a[0] == 'link':
if len(a) > 1:
dict = {'command': 'link', 'data': int(a[1])}
r = requests.post(host, json=dict)
if r.status_code == 200:
print (r.content.decode('utf-8'))
else:
print('ΠΠΎΠΌΠΌΠ°Π½Π΄Π° Π½Π΅ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ²!')
if a[0] == 'openweb':
if len(a) > 1:
dict = {'command': 'openweb', 'data': a[1]}
r = requests.post(host, json=dict)
if r.status_code == 200:
print (r.content.decode('utf-8'))
else:
print('ΠΠΎΠΌΠΌΠ°Π½Π΄Π° Π½Π΅ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ²!')
if a[0] == 'set':
if a[1] == 'host':
ip = a[2] + ':5000'
if command == 'quit':
break
ααΆαααααααα
ααα αΆαααααΌαααΊααααΌαααΆαα αΌααααΌαα»αααααΎ (ααΎααααΈααααΎα’ααααααααααΆαα½ααααΆαααΈααα) α ααΆααα·αααααΆααααααα’αααΈαα»αααΆαα αΆααααααΎα αα·αααΆαααααα α αΎααααααΆααααααααααααααααααααΎαα‘αΎαα ααΎα’αααααΆαα’αΆαααΌαα αΎαα¬αα ? ααΌα ααααα’ααααααααΈα’ααααααααααααααααααααΎαα‘αΎααα αααα»αααααα αααα αΌαααΆααααααααΆ - ααΆααααΌαααΆαααααα·ααααα·α ααα - ααΆααααααααΆαααααΆαααααααΆααααΆααααααααΆ (αααααα·ααααΆαα·αααααΆα) α
ααΆααααα - αα·αα·αααααΎαααΆααΎαααΆαααΈααααααα»αααααΎαααΆα (backdoor)
αααααααΆαα - ααΆαααααΎααααΆαα "ααααΌαααΆαα"
Openweb - ααΆαααΎαααα ααααα
α
αΆαα
αα - α
ααααΈα’αα·αα·αα
ααααα - ααααα IP αααα»αααααΌαααααααα’ααααα
ααΎαααααΆαααΌαααααΆα
α αΎαα₯α‘αΌαααααα αααα»ααααα’α·ααααααααααα’αααΈαααααααΆααα
αα ααΆααααΉααααΆαααΈαααααΊα―αααΆα link.txt α ααΆααΆααααααααΆαα (ααααΌαααα) αα α―αααΆα (ααΈααα’αΌ ααΌααα αααααα·ααΈ)α
αα ααΆααααααααααΊααΌα αααα
ΠΏΠΎΠ»Π½ΡΠΉ_ΠΏΡΡΡ>ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅
ΠΏΠΎΠ»Π½ΡΠΉ_ΠΏΡΡΡ>ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅
αααααα
ααΎαααΆααααΆαααΈααα backdoor αααααΆααααααααααααα»αααααΌααααα ααΎαααααΆαααΌαααααΆα (αααα»ααααααΆα Wi-Fi) α ααΆααα αα ααααα ααΎαα’αΆα ααααΎαααΆααααΆαααΈααααααααΈα§αααααααΆαα½ααααααΆαα’ααααααααα python α
PS αααα»αααΆαααααααααΆααααααααΆ set ααΌα
ααααααααα·αααΎ ip ααααααααααααΌαααΆαααααααα
α±αααα»αααααΌααααα
ααΎαααααΆαααΌαααααΆα α’αααα’αΆα
ααααΌαααΆαααααααΆαααα
αααα»ααααΆαααΈααααααα
ααααα: www.habr.com