iT邦幫忙

2023 iThome 鐵人賽

DAY 2
0

This series of tutorials is mainly sharing the notes taken while I was learning python for cybersecurity with the books - Black Hat Python.
這系列教學文章為學習筆記+延伸資源,旨在分享學習書籍 Black Hat Python時所思所學,也希望能幫助想了解Python和資安的大大們入門。

This tutorail has also been written in English in Medium.

目錄

  • Netcat I

看文前, 你應該要具備以下基礎能力:


Let's get started! 開始吧!


Netcat I

Netcat 是相當有用的工具,外號為"Networking瑞士軍刀"(The Utility Knife of Networking),或中文圈常聽說的"TCP/IP瑞士軍刀",十分響亮。

圖片來源:hiconsumption.com

顧名思義,可用來編寫網路監聽工具。不令人驚訝的是,明智的管理員會將此項工具從系統移除。

功能

使用它,你能夠做到以下:

  • 執行遠端指令(Execute remote commands)
  • 來回地傳送檔案(Pass files back and forth)
  • 打開遠端殼層(Open a remote shell) 😱

Let's write netcat.py!

Step 1.

# netcat.py

import argparse
import socket
import shlex
import subprocess
import sys
import textwrap
import threading

def execute(cmd):
    cmd = cmd.strip()
    if not cmd:
        return
    output = subprocess.check_output(shlex.split(cmd), stderr=subprocess.STUOUT)
    return output.decode()

Import所有需要的模組(modules),並設置好執行函式,以便讓函式接收指令(receives a command),跑指令(runs it)和迴傳字串化的結果(return output as a string)

🔸子程序(subproess)
這個 library 幫助你創建許多方法,以便和客戶端程式接觸(interact with client programs.)

🔸check_output
這個method會在當地作業系統跑一項指令(runs a command on the local operating system),並回傳該指令的輸出結果(output)


Reference參考資料

推薦影片
絕讚! Youtube 教學影片 | Elevate Cyber

原始碼
Github - Python For Cybersecurity | Monles


上一篇
Day 05 - TCP伺服器(Server) & 客戶端(Client)
下一篇
Day 07 - Netcat II
系列文
為駭而生 - Python 18
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言