akkietech’s diary

セキュリティ関連メインの自分用メモ書き。twitter: @akkietech

1/23 長いflaskの旅(約6時間)

今日はflask やりたかったこと ・flaskをapacheで本番環境に ・簡単なページの作成(できれば動的ページまで) やったこと ■前半 環境設定で試行錯誤 ・centos6の方でpythonページ動かせるようにした ・次にflaskを動かせるようにしようとした ・でもうまくい…

1/22 コントロールハイジャッキングほぼ読了

とりあえず ・デバッグするためにはコンパイル時に-gオプションが必須 ・gdbとターミナル実行時のアドレスの違いを確認するときは プロセスIDでのデバッグを使う # ps -u root | grep bypass_server # gdb -p [PID] ・どのプログラムにオプションをつけるべ…

1/18 研修前の朝にTCPバインド

コンピュータハイジャッキング(7.4)の続き この項は本書での核心部分に迫る内容だったと感じる コード的なことは書かないが知ったこと、感じたことを列挙 まず ・ローカルホスト上のプログラムにペイロードを注入して シェルを起動させる のと ・リモートか…

1/16 Kali LinuxでBeef

なんかアセンブリとかflaskとか色々やろうとしてたけど 今日最終的に行き着いたのがBeef Kali Linux「Beef」とは XSSの脆弱性があるWebサイトを標的にし、 アクセスしてきたユーザに対してさまざまなスクリプトの実行を可能とするツール 重要となるのがhook.…

1/11 flaskやるにあたって

■python3の仮想環境構築 # mkdir Py3_project # python3 -m venv venv => Py3_projectにvenvフォルダが作成される あとはアクティベイトするだけ # . venv/bin/activate アクティベイト解除は # deactivate ■関数内関数(ファクトリ関数、クロージャ) よく分…

1/8 シェルコード、ペイロード生成

■シェルコードの生成、ペイロード実行 ・アセンブリ言語で作った元のファイル:pwd_exec.asm ・¥ はバックスラッシュを指す # nasm -f elf64 -o pwd_exec.o pwd_exec.asm # ld pwd_exec.p -o pwd_exec # objdump -M intel -d pwd_exec | grep '^ ' | cut -f2…

1/7 ポインタ復習とperlで引数渡す

■ポインタ復習 ハイジャッキングの本で、ポインタ(int *aみたいな)が出てきて ちょっと分からんなったからキリン本で復習 void main() { int *p; #ポインタ宣言、アドレスを格納する int a = 10; p = &a; # &aがアドレスを指す、pのポインタにaのアドレスを…

1/6 アセンブリとデバッガ

■アセンブリ言語をgdbのデバッガで確認する アセンブリ言語で書いたファイル:hello.asm $ nasm -f elf64 -o hello.o hello.asm $ ld -o hello hello.o $ ./hello => hello world $gdb -q ./hello (gdb) break _start (gdb) run Note: breakpoint 1 (disable…

12/23 Snort検知ルール

Snortのシグネチャルールいじりたくなったから、いじった まずはsnortの起動から思い出した。 ちなみに全てrootで動かしてる。 普通に動かす(ログは/var/log/snort下に保存される) # snort -c /etc/snort/snort.conf コンソール形式で検知を出力する # snort…

12/20 BurpとOWAZPでspidering

webshell作成きっかけで たとえばphpコードインジェクションの攻撃とかするときに Webサーバがどんなディレクトリで、どんなWebファイルを持っているのか 調べれないかなと思い、2つで試してみた Brup Suite なんかいか使ったことあるけどやるたびに忘れる …

12/20 webshellとかiframeとか

SOCで気になってたこととか色々やってみた 1.webshellの設置 2.iframeの挿入 1.webshellの設置 SOCでよく検知するやつ(記憶曖昧) ・ ・fputs(fopen('webshell.php', 'w'), "") みたいなやつ 実際にやってみようと思った ■環境 ・POSTするための掲示板が整っ…

バックドア

簡単なバックドア設置を学んだ 正直僕が思ってたイメージとちょっと違ってたけど しかも先に書いておくとどの方法も 結局は初めに細工するためにroot権限が必須なんかなとも思ったり。 方法は3つ ・/bin/shコピー ・.profileに細工 ・バックドアをデーモン化…

パスワードクラッキング

使ったツール:crunch、THC-Hydra crunch 辞書ファイル作成ツール 指定した文字数で文字列を作成 例:$: crunch 4 6 -o string.txt 4〜6文字からなる文字列(aaaa~zzzzzz)をファイルに作成 オプション次第で、カスタマイズに近い文字列を作成することもできる…

nmapその2

ハッカーの学校とNmap公式を並行して読み進めた とりあえず覚えとかないとと思ったオプション -n DNS問い合わせず、IPアドレスのみで表示 -v 冗長表示、nmap動作の経過が見れる -A バージョン、OS等を一括でスキャン -F ポートスキャンする数を限定する -T4(…

DNS中身

まずDNSの中身見たくて見た 主にクエリの中身しか見てないんやけど リクエスト送る時は ・タイプ ・クラス ・ドメイン or IPアドレス が入ったやつをQuestionのフラグ立てて送ってる感じ レスポンスは ・Question ・Answer ・Authoritative NameServer ・Add…

ホスト検索

DNSレコード検索 この3つはほぼ同じ結果が期待出来る ■DNSレコード全て取得 ・nslookup, set q=any (set debugでより詳細) ・host -a 検索対象 ・dig 検索対象 any ■対象ドメインのDNSサーバ表示 ・nslookup, set q=ns ・host -t ns 対象 ・dig 対象 ns ■対…

HTTPヘッダ偽装

HTTPヘッダは簡単に偽装できた wgetでrefererとuser-agentを偽装 wget --referer=google.com -U "fake browser" hxxp://192.168.179.5 ※wget での標準出力はオプション「-O -」を使用 curlで偽装 curl -e google.com -A "fake browser" hxxp://192.168.179.5…

iptables

iptables(特にnat)を試した まずDNSサーバをルータとして、 CentOS7を10.0.0.0/8のホストとして設定 DNSサーバの新インターフェイス設定は スムーズにできた。 一瞬詰まったのは、pingが通らなかったこと 原因はDNSサーバのiptables。 FORWARDチェーンがicmp…

SQLインジェクション実験記録

LPIC303の勉強の流れでwiresharkのパケットキャプチャ 過去にRUBYで作った簡易webページでSQLインジェクションの脆弱性調査を実験 -------------- "select * from list where #{where_data}" where_data = "where #{name}= '#{req.query[name]}'" ----------…

メール通信を検知するSandbox

Sandboxってのは、 例えばメールに添付された怪しいファイルを検知し、 仮想環境の中でファイルを実行させ、 どういった振る舞いをするかを調べるためのセキュリティデバイス (合ってるのかな) 悪意ある攻撃者が、日本のある企業にマルウェアを感染させよう…