BeEF RESTful API
介紹
從0.4.3.3版開始,BeEF公開RESTful API。這允許用戶通過HTTP / JSON請求編寫BeEF腳本。
認證方式
每次BeEF啟動時,都會使用生成一個新的偽隨機令牌BeEF:: Core:: Crypto::api_token。令牌已添加到BeEF::Configuration對象。
當BeEF啟動時,令牌將打印到控制臺。它看起來應該像這樣:
[16:02:47][*] RESTful API key: 320f3cf4da7bf0df7566a517c5db796e73a23f47
注意:
- 如果您需要訪問令牌,并且您正在BeEF中的某個地方編寫Ruby代碼,則可以使用以下命令調用它:
BeEF::Core::Configuration.instance.get('beef.api_token')
從API請求身份驗證令牌
處理程序
終點
- POST /api/admin/login
描述
- 為了使用API??,token必須始終將參數添加到請求中,否則將返回401錯誤(未授權)。該請求提供了該令牌作為響應。
- 在請求正文中發送的憑據是在主config.yaml文件中設置的憑據。
索取組件
- 不適用
查詢參數
- 不適用
請求內容
Body
username- 用戶名設置password- 密碼設置
例
請求
curl -H "Content-Type: application/json" -X POST -d '{"username":"beef", "password":"beef"}' http://127.0.0.1:3000/api/admin/login
響應
response: {"success":true,"token":"8dc651e5ee1cb06003878bb26bd0e72800caeea0"}
掛鉤的瀏覽器
處理程序
終點
- GET /api/hooks?token={token}
描述
- 提供有關所有掛鉤的瀏覽器(在線和離線)的信息(瀏覽器和操作系統版本,Cookie,已啟用的插件等)。
索取組件
- 不適用
查詢參數
- {token}-您的身份驗證令牌(請參閱Authentication)
例
請求
curl http://beefserver.com:3000/api/hooks?token=320f3cf4da7bf0df7566a517c5db796e73a23f47
響應
{
"hooked-browsers": {
"online": {
"0": {
"name": "FF",
"version": "10",
"os": "Intel Mac OS X 10.7",
"platform": "MacIntel",
"session": "nBK3BGBILYD0bNMC1IH299oDbZXNNXKfwMEoDwajmItAHhhhe8LLnEPvO3wFjg1rO4PzXsBbUAK1V0gk",
"ip": "127.0.0.1",
"domain": "127.0.0.1",
"port": "3000",
"page_uri": "http://127.0.0.1:3000/demos/basic.html"
}
},
"offline": {
"0": {
"name": "C",
"version": "17",
"os": "Macintosh",
"platform": "MacIntel",
"session": "26bxiMKoFfOeBgcvIV84qeOsEULKQIEYDH4djMbMPeoAZU4yySMIlJJ7GrAMwuMa0eX9wCKk24KOsCoT",
"ip": "127.0.0.1",
"domain": "127.0.0.1",
"port": "3000",
"page_uri": "http://127.0.0.1:3000/demos/basic.html"
}}}}
瀏覽器詳細資料
處理程序
終點
- GET /api/hooks/{session}?token={token}
描述
- 提供有關特定掛鉤瀏覽器的信息(瀏覽器和操作系統版本,Cookie,已啟用的插件等)。
索取組件
- {session}-掛鉤的瀏覽器的會話ID。此ID是在session_key對/api/hooks請求的響應中返回的值。
查詢參數
- {token}-您的身份驗證令牌
例
請求
curl http://beefserver.com:3000/api/hooks/nBK3BGBILYD0bNMC1IH299oDbZXNNXKfwMEoDwajmItAHhhhe8LLnEPvO3wFjg1rO4PzXsBbUAK1V0gk?token=320f3cf4da7bf0df7566a517c5db796e73a23f47
響應
{
"BrowserName": "O",
"BrowserPlugins": "Shockwave Flash\nJava Applet Plug-in\nQuickTime Plug-in 7.7.1\nSharePoint Browser Plug-in\nSilverlight Plug-In\nWebEx64 General Plugin Container",
"BrowserReportedName": "Opera/9.80 (Macintosh; Intel Mac OS X 10.7.3; U; en) Presto/2.10.229 Version/11.62",
"BrowserType": "{"O11":true,"O":true}",
"BrowserVersion": "11",
"Cookies": "BEEFHOOK=nBK3BGBILYD0bNMC1IH299oDbZXNNXKfwMEoDwajmItAHhhhe8LLnEPvO3wFjg1rO4PzXsBbUAK1V0gk",
"HasActiveX": "No",
"HasFlash": "Yes",
"HasGoogleGears": "No",
"HasWebSocket": "No",
"HostName": "127.0.0.1",
"JavaEnabled": "Yes",
"OsName": "Macintosh",
"PageReferrer": "No Referrer",
"PageTitle": "BeEF Basic Demo",
"PageURI": "http://127.0.0.1:3000/demos/basic.html",
"ScreenParams": "{"width"=>1680, "height"=>1050, "colordepth"=>32}",
"SystemPlatform": "MacIntel",
"VBScriptEnabled": "No",
"WindowSize": "{"width"=>1000, "height"=>729}",
"hasPersistentCookies": "Yes",
"hasSessionCookies": "Yes"
}
日志
處理程序
終點
- GET/api/logs?token={token}
描述
- 該
logs處理程序提供有關所有掛鉤的瀏覽器日志的信息,包括全局日志和相對日志。
請求組件
- 不適用
查詢參數
請求
curl http://beefserver.com:3000/api/logs?token=320f3cf4da7bf0df7566a517c5db796e73a23f47`
響應
{
"logs_count": 8,
"logs": [
{
"id": 1,
"date": "2012-03-20T16:14:11+01:00",
"event": "127.0.0.1 just joined the horde from the domain: 127.0.0.1:3000",
"type": "Zombie"
},
{
"id": 8,
"date": "2012-03-20T16:18:27+01:00",
"event": "19.092s - [Focus] Browser has regained focus.",
"type": "Event"
}
]
}
瀏覽器日志
處理程序
終點
- GET /api/logs/{session}?token={token}
描述
- 該logs處理器提供了有關信息指定鉤瀏覽器的日志。
請求組件:
請求
curl http://beefserver.com:3000/api/logs/nBK3BGBILYD0bNMC1IH299oDbZXNNXKfwMEoDwajmItAHhhhe8LLnEPvO3wFjg1rO4PzXsBbUAK1V0gk?token=320f3cf4da7bf0df7566a517c5db796e73a23f47`
響應
{
"logs_count": 13,
"logs": [
{
"id": 1,
"date": "2012-03-20T16:14:11+01:00",
"event": "127.0.0.1 just joined the horde from the domain: 127.0.0.1:3000",
"type": "Zombie"
},
{
"id": 16,
"date": "2012-03-20T16:40:18+01:00",
"event": "6.071s - [User Typed] "an" > input#imptxt(Important Text)",
"type": "Event"
},
{
"id": 17,
"date": "2012-03-20T16:40:19+01:00",
"event": "7.086s - [User Typed] "tisnatc" > input#imptxt(Important Text)",
"type": "Event"
},
{
"id": 18,
"date": "2012-03-20T16:40:20+01:00",
"event": "8.099s - [User Typed] "hor" > input#imptxt(Important Text)",
"type": "Event"
}
]
}
BeEF中文文檔
推薦文章: