
BinGoo! 리눅스 bash 기반 Bing 및 Google Dorking 도구
__ ,--="=--, __
/ ." .-. "./
/ ,/ _ : : _ /\ \ | /o\ :: /o\ |_/
-'| :="~ _ ~"=: | \ () / .-"-. \ | / .-"-. .---{ }--| /,.-'-.,\ |--{ }---. ) (_)_)_) \_/-===-`_/ ((() (
( ____ _ ____ _ )
) | __ )() __ / | ___ ___ | | (
( | _ | | ' | | _ / _ \ / _ | | )
) | |) | | | | | || | () | () || (
( |/||| ||_|_/ ___/() )
) (
'-----v1--------------By-Hood3dRob1n----'
BinGoo README 파일에 오신 것을 환영합니다!
이 문서는 도구의 전반적인 개요와 사용 방법에 대한 설명을 제공합니다. 이 도구는 연구 목적으로 대량의 링크를 수집하기 위한 더 나은 솔루션을 만들기 위해 진행한 프로젝트의 결과물이며, 제 해킹 필요에 맞게 조정했습니다. 또한 모든 것을 bash로 작성하여 스스로 어렵게 만들기로 결정했습니다. 그게 제 성격이라서요 :p
BinGoo는 순수 bash로 작성된 올인원 도킹 도구입니다. Google과 Bing의 메인 검색 페이지를 활용하여 제공된 검색어를 기반으로 대량의 링크를 스크래핑합니다. 한 번에 하나의 dork를 검색하거나, 한 줄에 하나의 dork를 포함한 목록을 만들어 대량 스캔을 수행할 수 있습니다. 스캔이 끝났거나 다른 방법으로 링크를 수집했다면, 분석 도구로 이동하여 일반적인 취약점 징후를 테스트할 수 있습니다. 결과는 발견된 내용에 따라 각각의 파일에 깔끔하게 정리됩니다. 추가로 분석하고 싶다면, 제가 bash로 만든 반쯤 작동하는 SQL 또는 LFI 도구를 실행하거나, 훨씬 더 정확하고 결과가 좋은 SQLMAP 및 FIMAP 래퍼 도구를 사용할 수 있습니다. 또한 Geo 도킹(도메인 유형 또는 국가 코드 기반), 공유 호스팅 확인(미리 구성된 Bing 검색과 dork 목록을 사용하여 같은 서버에 있는 다른 사이트의 취약점 탐색), 간단한 관리자 페이지 찾기(제공된 목록과 서버 응답 코드를 기반으로 존재 확인) 등 편리한 기능도 포함되어 있습니다. 전체적으로 괜찮은 패키지라고 생각합니다!
- LYNX 및 CURL: 핵심 기능에 필요
- LYNX/CURL 설치: apt-get install lynx; apt-get install curl
- NMAP, FIMAP 및 SQLMAP: 플러그인 및 테스트 기능(digger, fimap 및 sqlmap 래퍼)에 필요. SVN을 사용하여 원하는 위치에 설치하세요:
- FIMAP 설치: svn checkout http://fimap.googlecode.com/svn/trunk/ fimap
- cd fimap/; chmod +x fimap.py; ./fimap.py --help
- SQLMAP 설치: svn checkout https://svn.sqlmap.org/sqlmap/trunk/sqlmap sqlmap
- cd sqlmap/; chmod +x sqlmap.py; ./sqlmap.py --help
- NMAP 설치: svn co https://svn.nmap.org/nmap nmap
- cd nmap/; ./configure; make; sudo make install; nmap --help
참고: FIMAP 인스턴스는 SVN 버전이어야 합니다. 표준 버전(또는 BackTrack에 기본 포함된 버전)에는 없는 기능(--bmin, --bmax, -D + 옵션 등)이 포함되어 있기 때문입니다. 따라서 기존 복사본을 삭제하거나 나란히 설치하세요. 원하는 대로 하시면 됩니다.
모든 경로 정보는 BinGoo 파일의 14-21행(환경 설정 섹션)에 입력하여 필요에 따라 조정할 수 있습니다.
메인 메뉴에서 사용할 검색 엔진을 선택하고 프롬프트를 따르세요. 사용자 입력에 따라 단일 dork를 실행하여 원하는 대로 사용자 정의하거나, dork 파일을 지정할 수 있습니다. 기본 패키지에는 몇 가지가 포함되어 있으며, BinGoo/ 폴더 내 dorks/ 디렉토리에서 찾을 수 있습니다. 원하는 위치를 지정할 수 있으며, 파일에 한 줄에 하나의 dork가 있는지 확인하세요. 모든 정보가 제공되면 도구가 작동하여 모든 결과를 포함한 링크 파일을 생성합니다. Bing 검색의 경우 b-links.txt, Google 검색의 경우 g-links.txt 파일이 생성됩니다.
참고: Google dorker는 더 이상 Google 제한을 우회하지 않습니다. 하지만 Google로 스캔한 후 분석하거나, Google로 스캔한 후 Bing으로 스캔한 다음 분석하면 차단을 최소화하고 문제를 피할 수 있습니다. Google에서 결과가 나오지 않으면 일시적인 IP 차단 때문일 가능성이 높으므로, 차단이 풀릴 때까지 Bing을 사용하세요(이 상황을 피하기 위해 첫 번째 조언을 참고하세요).
사용자가 검색에 사용할 도메인 유형을 정의할 수 있는 방법입니다. 이 옵션에 사용할 미리 구축된 dork 목록(dorks/site.lst)을 설정했으며, 원하는 경우 수정할 수 있습니다. 사용자가 제공한 사이트 유형 또는 국가 코드에 대해 목록 스캔을 실행하고, 결과 링크를 파일에 생성합니다. 파일 이름에는 제공된 Geo 코드 또는 사이트 유형이 포함되어 추적하기 쉽습니다.
Bing Geo Dorker의 옵션:
AC AD AE AF AG AI AL AM AO AQ AR AS AT AU AW AX AZ BA BB BD BE BF BG BH BI BJ BM BN BO BR BS BT BW BY BZ
CA CC CD CF CG CH CI CK CL CM CN CO CR CU CV CX CY CZ DE DJ DK DM DO DZ EC EE EG ER ES ET EU FI FJ FK FM FO FR
GA GD GE GF GG GH GI GL GM GN GP GQ GR GS GT GU GW GY HK HM HN HR HT HU ID IE IL IM IN IO IQ IR IS IT JE JM JO JP
KE KG KH KI KM KN KP KR KW KY KZ LA LB LC LI LK LR LS LT LU LV LY MA MC MD ME MG MH MK ML MM MN MO MP MQ MR MS MT MU MV MW MX MY MZ
NA NC NE NF NG NI NL NO NP NR NU NZ OM PA PE PF PG PH PK PL PM PN PR PS PT PW PY QA RE RO RS RU RW
SA SB SC SD SE SG SH SI SK SL SM SN SO SR SS ST SV SY SZ TC TD TF TG TH TJ TK TL TM TN TO TR TT TV TW TZ
UA UG UK US UY UZ VA VC VE VG VI VN VU WF WS YE ZA ZM ZW
BIZ COM INFO NET ORG AERO ASIA CAT COOP EDU GOV INT JOBS MIL MOBI MUSEUM TEL TRAVEL XXX
이 모듈은 dorks/sharedhosting.lst를 사용하여 사용자가 제공한 IP 또는 사이트 이름에 대해 목록 스캔을 실행하여, 동일 서버에서 취약점이 있을 수 있는 다른 사이트가 있는지 확인합니다. 필요에 따라 사용되는 dork 파일을 축소하거나 확장할 수 있습니다.
이것은 별도로 작성한 또 다른 스크립트로, 항상 유용하게 사용하기 때문에 다른 사람들도 그럴 것이라고 생각하여 메인 스크립트에 통합했습니다. plugins 폴더에 있으며 메뉴 옵션을 통해 호출됩니다. 몇 가지 내장 도구와 온라인 사이트를 사용하여 대상 사이트에 대한 정보를 수집합니다. Alexa 순위, SameIP 공유 호스팅 확인, Bing 공유 호스팅 확인, 서브도메인 확인, whois 정보, 빠른 nmap 스캔을 실행합니다. 이를 통해 직접적인 조준 없이도 풍부한 정보를 얻을 수 있습니다(원한다면 nmap 스캔을 주석 처리하여 강도를 낮출 수 있습니다).
이 옵션은 포스트 도킹 활동을 수행할 수 있는 새로운 메뉴 섹션으로 이동합니다. 다음은 이 메뉴에서 사용 가능한 옵션에 대한 간략한 개요입니다.
Bing 링크 파일 분석: 이 옵션은 메인 메뉴에서 Bing 검색으로 생성된 b-links.txt 파일만 분석합니다.
Google 링크 파일 분석: 이 옵션은 메인 메뉴에서 Google 검색으로 생성된 g-links.txt 파일만 분석합니다.
Google 및 Bing 링크 파일 모두 분석: 이 옵션은 두 파일을 하나의 파일로 결합한 후 새 파일에 대해 분석을 실행합니다.
내 링크 파일 분석: 이 옵션은 도구에 자신의 링크 파일을 지정할 수 있게 해줍니다. 파일은 한 줄에 하나의 링크가 있으면 어떤 파일이든 가능합니다.
참고: 위 분석 옵션들은 모두 페이지에 대한 인젝션 및 정규식 검사를 실행하여 일반적인 인젝션 취약점 징후를 확인하고 분류합니다. 소스를 확인하여 사용된 목록에 추가하거나 제거할 수 있습니다. 긍정 결과는 results/ 폴더로 필터링되며 발견 방법에 따라 분류됩니다. 긍정 정규식은 LFI 또는 SQL로 명확히 표시되며, 터미널에는 발견된 줄까지 포함되어 쓰레기와 실제 결과를 구분하는 데 도움이 됩니다. Possibles.results 파일은 인젝션된 페이지가 텍스트의 85% 손실과 테이블 행 감소(인젝션이 변경을 일으켜 잠재적 취약점을 나타내는 괜찮은 지표)를 반환한 페이지로 가득 차 있습니다. 정확하지는 않지만 완전히 생략하는 것보다는 표시하고 수동으로 검토하는 것이 낫습니다. 더 나은 방법이 있으면 공유해 주시면 이 기능을 개선하는 데 도움이 됩니다 :) 연속으로 취약점이 식별될 때 작은 문제가 있어 다음 세 번째 사이트가 실제로 취약하지 않은데도 취약점으로 표시될 수 있습니다. 추가 검증 테스트가 이를 제거하지만, 100% 완벽하지 않다는 점을 미리 알려드립니다.
이것은 제가 직접 만든 관리자 찾기 도구입니다. 작은 단어 목록(plugins/admin.lst)을 사용하고 서버 응답을 판단하여 결과를 보고합니다. 원하는 만큼 목록에 추가할 수 있습니다. 소스는 필요에 따라 더 큰 목록을 처리할 수 있도록 멀티스레딩을 에뮬레이트하도록 코딩되었습니다. 기본 목록은 꽤 잘 작동합니다.
이것은 다른 하위 메뉴로 이동하며, 여기서 제가 만든 검증 스크립트를 실행하거나 FIMAP 래퍼를 실행하여 LFI 취약점을 확인할 수 있습니다. 제 검증기는 100% 작동하지 않으며 작업 진행 중이지만, bash로도 가능하다는 것을 보여주기 위해 누군가 개선을 도와주길 바라며 포함했습니다. FIMAP 래퍼는 훌륭하게 작동합니다! 단일 사이트에 대해 스캔을 실행하거나, 분석 실행 후 생성된 기본 results/LFI.results 파일을 대상으로 하거나, 자신의 링크 파일을 지정하여 테스트할 수 있습니다. 즉, 한 번에 하나씩 또는 대량으로 처리할 수 있습니다!
LFI 도구 섹션과 매우 유사합니다. 상세 취약점에 대한 열 카운터를 만들었습니다. 꽤 괜찮게 작동하지만 아직 작업 중입니다. 백업으로 SQLMAP 래퍼 스크립트를 구축하여 확실히 검증할 수 있도록 SQLMAP에 전달할 수 있습니다. LFI 래퍼와 마찬가지로 단일 사이트, 분석 단계의 기본 results/SQLi.results 파일, 또는 직접 선택한 사용자 정의 파일(한 줄에 하나의 링크)에 대해 대량 테스트를 선택할 수 있습니다.
기본 BackTrack curl 설치에서 --ssl 옵션이 인식되지 않습니다. 간단히 메인 bingoo 스크립트 내 curl_magic() 함수(474행 및 475행)에서 이 옵션을 제거하면 문제가 해결됩니다.
SVN 버전의 FIMAP을 사용하지 않는 경우, plugins/ 디렉토리에 있는 LFI 스크립트(77행, 96행, 109행)의 세 군데에서 "--bmin=4 --bmax=9 -D --dot-trunc-also-unix"를 제거해야 합니다. 이 기능은 결국 FIMAP 업데이트 버전에 포함되어 기본 설치에도 적용될 예정이지만, 그때까지는 최상의 결과를 위해 SVN 버전을 사용해야 합니다. 감수하세요 :p
때때로 SQLMAP의 형식이 터미널에서 깨질 수 있습니다. 결과와 프로세스 흐름은 정상적으로 진행되므로 걱정하지 마세요. 결과를 더 명확하게 보려면 sqlmap/output/ 폴더를 열고 로그 파일을 확인하여 SQLMAP 스캔의 전체 세부 정보를 확인하세요. 깨끗하게 종료되지 않으면 백그라운드에서 일부 프로세스가 남을 수 있으므로 실행을 그대로 두세요. 다음 명령어와 유사한 명령으로 모든 프로세스를 종료할 수 있습니다: ps aux | grep bingoo | cut -d' ' -f6 | while read line; do kill -9 $line; done; 작동하지 않으면 터미널에 여전히 출력이 표시되므로 알 수 있지만, 이 명령은 백그라운드에서 실행 중인 모든 bingoo 인스턴스를 종료해야 합니다. "bingoo" 대신 "curl"을 사용하여 첫 번째 kill shot 이후에도 남아 있는 스레드가 있다면 반복할 수도 있습니다.
세션을 중단하려면 Ctrl+C를 누를 수 있으며, 대부분의 활성 프로세스가 종료되고 진행 중인 작업이 crash.results 파일에 덤프되어 데이터를 완전히 잃지 않습니다. 이 프로젝트는 지속적으로 작업 중이므로 시간이 지남에 따라 변경 및 업데이트가 발생할 수 있습니다. 질문, 제안, 개선 사항, 기여가 있으면 [email protected]으로 이메일을 보내주세요.
또한 이 도구를 사용하여 여러분이 하는 모든 일에 대해 저는 어떠한 책임도 지지 않는다는 점을 알려드립니다. 사용은 본인의 책임입니다. 안전하게 사용하시고, 다음에 또 만날 때까지 즐기세요!
인사드립니다, H.R.
#EOF