wukong agent

Wukong Scanner Agent v1


platform
platform

python
python

Code Issues
Code Issues

Requisites

  • python
  • redis
  • awvs api
  • nessus api

Structure

wukong_structure.png

Introduce

  • system structure : python + flower + celery + redis
  • Cross platform operation
  • The current module as the following :
    • awvs : Awvs scanner
    • nessus : Nessus scanner
    • brute : System service account password burst test
    • web : System web service vulnerability test
    • pscan : Port scans
  • Custom plug-in
  • It can distributed deployment
  • It access to third-party scanning tools

Installation

modify setting.py as the following

redis_host = 'localhost'    #your redis address
redis_port = 6379           #your redis port
redis_pwd = ''              #your redis password

"awvs_url" : "127.0.0.1" ,  #your awvs host
"awvs_port" : 8183 ,        #your awvs password

"nessus_url" : "https://xxx.com" ,  #your nessus host
"nessus_name" : "xx" ,          #your nessus user
"nessus_pass" : "xx" ,  #your nessus password

Usage

runing on the server

start server:
    celery -A tasks worker --loglevel=info --concurrency=10
    celery flower --port=8080 --broker=redis://127.0.0.1:6379/0
    #celery flower --port=8080 --broker=redis://:password@127.0.0.1:6379/0
    #celery flower --port=8080 --broker=redis://127.0.0.1:6379/0 --basic_auth=xx:xx

send task:
    curl -X POST -d '{"args":["taskid-23","www.baidu.com"]}' http://127.0.0.1:8080/api/task/send-task/tasks.pscan
    curl -X POST -d '{"args":["taskid-23","www.baidu.com","web"]}' http://127.0.0.1:8080/api/task/send-task/tasks.brute

runing on the console

python wukong.py -d 100.xueersi.com -m pscan        #port scans
python wukong.py -d 100.xueersi.com -m nessus       #nessus scans
python wukong.py -d 100.xueersi.com -m awvs         #awvs scans
python wukong.py -d 100.xueersi.com -m web          #all zero day vulnerability scans 
python wukong.py -d 100.xueersi.com -m brute        #all brute service vulnerability scans 
python wukong.py -d 100.xueersi.com -m brute -c SESSION=232     #all brute service vulnerability scans by cookie
python wukong.py -d 100.xueersi.com -m web -t subdomain     #subdomain scans by webapi
python wukong.py -d 100.xueersi.com -m brute -t subdomain   #subdomain scans by brute
python wukong.py -d 100.xueersi.com -m all          #scan all the weaknesses

running screenshot as the following

wukong agent console

wukong_console.png

wukong web api

celery.png
flower.png
send_task.png
flower_result.png
wukong_agent_result.png

Custom plug-in

#!/user/bin python
# -*- coding:utf-8 -*- 
# Author:Bing
# Contact:amazing_bing@outlook.com
# Description:  coding 

import sys
sys.path.append("..")

from common.captcha import Captcha  # Captcha 
from common.func import *           # Common function
from common.check import *          # Common format validation 

import json,re,subprocess,time

class WuKong(object):
    '''
    args = { "cookies": cookie , "user_pass": ( "username" , "password" ) , "args" : "" }
    # cookies : it is your cookie
    # user_pass : it is username and password 
    # args : it could be a path,a subdomain prefix , a WEB fingerprint as  x.php / www / discuz! 2.3x etc ...  depending on your poc type
    '''
    def __init__(self,  target = "", args = ""):    
        self.target = target
        self.cookies = args["cookies"]
        
        self.website = "https://www.threatminer.org"
        self.result = {
            "bug_author" : "Bing",
            "bug_name" : "Threatminer subdomain api",
            "bug_summary" : "Subdomain search", 
            "bug_level" : "Normal" , 
            "bug_detail" : [] ,
            "bug_repair" : "none"
        }
    
    def exploit(self):
        if is_Domain(self.target) == False :
            return []

        target = str(".".join(self.target.split(".")[1:]))
        try:
            url = "{0}/getData.php?e=subdomains_container&q={1}&t=0&rt=10&p=1".format(self.website, target )
            content = http_request_get(url).content

            _regex = re.compile(r'(?<=<a href\="domain.php\?q=).*?(?=">)')
            for sub in _regex.findall(content):
                if is_Domain(sub):
                    self.result["bug_detail"].append(sub)

            return list(set(self.result))
        except:
            pass

''' local test '''            
# test = WuKong(target ='www.aliyun.com',args = {"cookies":"" , "user_pass": "" , "args" : "www" })
# test.exploit()
# print test.result 

Update

Python version Wukong Agent version Link
2.7.3 1.0 v1

please waiting for update

Contribute

If you want to contribute to my project please don't hesitate to send a pull request. You can also join our users, by sending an email to me, to ask questions and participate in discussions.

Issue

if you hava some question or good idea,you can leave a message to me!

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末社证,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子冕广,更是在濱河造成了極大的恐慌叠赐,老刑警劉巖,帶你破解...
    沈念sama閱讀 206,839評(píng)論 6 482
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件五鲫,死亡現(xiàn)場(chǎng)離奇詭異溺职,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)位喂,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,543評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門(mén)浪耘,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人塑崖,你說(shuō)我怎么就攤上這事七冲。” “怎么了弃舒?”我有些...
    開(kāi)封第一講書(shū)人閱讀 153,116評(píng)論 0 344
  • 文/不壞的土叔 我叫張陵癞埠,是天一觀的道長(zhǎng)状原。 經(jīng)常有香客問(wèn)我,道長(zhǎng)苗踪,這世上最難降的妖魔是什么颠区? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 55,371評(píng)論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮通铲,結(jié)果婚禮上毕莱,老公的妹妹穿的比我還像新娘。我一直安慰自己颅夺,他們只是感情好朋截,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,384評(píng)論 5 374
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著吧黄,像睡著了一般部服。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上拗慨,一...
    開(kāi)封第一講書(shū)人閱讀 49,111評(píng)論 1 285
  • 那天廓八,我揣著相機(jī)與錄音,去河邊找鬼赵抢。 笑死剧蹂,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的烦却。 我是一名探鬼主播宠叼,決...
    沈念sama閱讀 38,416評(píng)論 3 400
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼其爵!你這毒婦竟也來(lái)了冒冬?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 37,053評(píng)論 0 259
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤醋闭,失蹤者是張志新(化名)和其女友劉穎窄驹,沒(méi)想到半個(gè)月后朝卒,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體证逻,經(jīng)...
    沈念sama閱讀 43,558評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,007評(píng)論 2 325
  • 正文 我和宋清朗相戀三年抗斤,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了囚企。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,117評(píng)論 1 334
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡瑞眼,死狀恐怖龙宏,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情伤疙,我是刑警寧澤银酗,帶...
    沈念sama閱讀 33,756評(píng)論 4 324
  • 正文 年R本政府宣布辆影,位于F島的核電站,受9級(jí)特大地震影響黍特,放射性物質(zhì)發(fā)生泄漏蛙讥。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,324評(píng)論 3 307
  • 文/蒙蒙 一灭衷、第九天 我趴在偏房一處隱蔽的房頂上張望次慢。 院中可真熱鬧,春花似錦翔曲、人聲如沸迫像。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,315評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)闻妓。三九已至,卻和暖如春掠械,著一層夾襖步出監(jiān)牢的瞬間纷闺,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 31,539評(píng)論 1 262
  • 我被黑心中介騙來(lái)泰國(guó)打工份蝴, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留犁功,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 45,578評(píng)論 2 355
  • 正文 我出身青樓婚夫,卻偏偏與公主長(zhǎng)得像浸卦,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子案糙,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,877評(píng)論 2 345

推薦閱讀更多精彩內(nèi)容