Subaru's Husband -2ページ目

Subaru's Husband

python、linux、バイクなんかのネタを書きます。
一応security業界でご飯を食べてます。
備忘録がメインだと思うので、未来の自分が助かれば最高。

開発予定のウェブスキャナーのプラットフォーム診断でOpenVAS使えるか調べたかったので

インストール。

 

今回はkvmでネットワーク診断用サーバー立ててそこにインストール

192.168.1.10がそのサーバーのIP。

 

$sudo apt-get install sqlite3
$sudo add-apt-repository ppa:mrazavi/openvas
$sudo apt-get update
$sudo apt-get install openvas9
$sudo greenbone-nvt-sync
$sudo greenbone-scapdata-sync
$sudo greenbone-certdata-sync
$sudo service openvas-gsa restart

 

インストールに成功して

 

https://192.168.1.10:4000/login/login.html

 

 

にアクセスするとログインページでてきます。ID/PASSはadminでログインできた気が。

 

bee-boxに対してスキャンしたら、真っ赤っかの結果がでるところまで確認できました。

 

 

OpenVASは見た目とかはかっこいいけど、Nessusと比べるとわかりずらいよ。

ボタンとかももっと大きくすればいいのにね。

 

 

Fiddlerは通常はシステムプロキシーの設定を自動で書き換えて、IEなどのリクエストをトラップします。

 

複数異なるポートでローカルプロキシーとして起動したい場合は、ちょっとした手順が必要です。

 

1.Fiddlerを起動

2.File -> New Viewer

3.起動したNew Viewrの[Quick Exec]に !listen 7777 でenter※7777を待ち受けポートにする設定

 

これで複数ブラウザや複数の診断ツールを使用した際、ログが混ざらないでFiddlerを使用することができます。

 

import ssl

import http.cookiejar

import urllib.request

from urllib.request import ProxyHandler

from urllib.request import HTTPCookieProcessor

 

# SSL証明書のエラーを無視する設定

ssl._create_default_https_context = ssl._create_unverified_context

 

target = '127.0.0.1'

port = '8080'

 

properties = [

              'domain',

              'version',

              'name',

              'value',

              'port',

              'path',

              'secure',

              'expires',

              'discard',

              'comment',

              'comment_url',

              'rfc2109',

              'port_specified',

              'domain_specified',

              'domain_specified',

              'domain_initial_dot',                                    

            ]

 

functions = [

           ('has_nonstandard_attr',{'name':'secure'}),

           ('get_nonstandard_attr',{'name':'secure'}),

           ('set_nonstandard_attr',{'name':'test','value':123}),                         

           ('is_expired',{})

            ]

 

#proxy

proxy_handler = ProxyHandler({'http':target + ':' + port,'https':target + ':' + port})

 

#Cookieの読み込み、書き込みをするためにはLWPCookieJarを使用

cj = http.cookiejar.LWPCookieJar()

 

#cj = http.cookiejar.FileCookieJar()

 

try:

    cj.load('cookie.txt')

except:

    pass

 

opener = urllib.request.build_opener(HTTPCookieProcessor(cj),proxy_handler)

 

r = opener.open("https://google.co.jp/")

r = opener.open("https://twitter.com/")

 

for cookie in cj:

    for property in properties:

        print('{0:20} : {1}'.format(property,cookie.__dict__[property]))

 

    for function in functions:

        tmp_function,param = function

        print('{0:20} : {1}'.format(tmp_function,getattr(cookie,tmp_function)(**param)))

 

cj.save(filename='cookie.txt')