본문 바로가기
IT Tools

[Tools] Recon-ng 모듈별 설명

by 떠도리c 2024. 4. 15.
반응형

Recon-ng

Recon-ng는 정보 수집 도구 중 하나로, 오픈 소스로 제공되며 웹 기반 애플리케이션 및 네트워크의 정보를 수집하고 분석하는 데 사용됩니다. 다양한 모듈을 통해 다양한 소스에서 정보를 수집할 수 있으며, 이를 통해 보안 평가, 취약점 평가, 사회공학 공격 등 다양한 보안 활동에 활용되는 도구입니다.

 


모듈과 설명을 참고하세요. 특정 모듈은 API 가 필요할 수 있습니다.

Discovery

**discovery/info_disclosure/cache_snoop**
- description : DNS 캐시 스누핑 기술을 사용하여 방문 도메인을 확인
    > ns 서버를 지정하여 Anti-virus list에 있는 cache 존재 유무를 확인
    > 즉, 특정 Anti-virus cache가 있다면 해당 제품을 사용하고 있다고 추정 가능

**discovery/info_disclosure/interesting_files**
- description : 예측 가능한 위치에 있는 흥미로운 파일을 호스트에서 확인
> 대상을 지정하여 일반적으로 알기 쉬운 robotx.txt, pipinfo.php등과 같은 파일의 존재/접근 유무를 확인 할 수 있음 (Google Dorks 사용)

 

 

Exploitation

**exploitation/injection/command_injector**
- description : web application의 remote command injection 대한 shell 인터페이스를 제공
> url, user, passwd, rce parameter 등 지정하여 injection 시도

**exploitation/injection/xpath_bruter**
- description : XPath injection 취약점을 이용하여 서버 XML 문서의 내용을 나열
> url, user, passwd, rce parameter 등 지정하여 injection 시도

 

Import

**import/csv_file**
- description : CSV 파일에서 데이터베이스 테이블로 값을 가져옵니다.

**import/list**
- description : list 파일에서 데이터베이스 테이블 및 열 값을 가져옵니다

**import/masscan**
- description : Masscan XML output에서 호스트 및 포트를 각 데이터베이스로 가져옵니다.

**import/nmap**
- description : Nmap XML output에서 호스트 및 포트를 각 데이터베이스로 가져옵니다.

 

Recon

**recon/companies-contacts/bing_linkedin_cache**
- description : 검색 회사와 관련된 LinkedIn 페이지에 Bing API를 쿼리하여 LinkedIn에서 프로파일을 수집. 이 후 결과 정보를 구문 분석하여 사용자의 전체 이름과 작업 제목을 추출 (LinkedIn에 access하지 않음) - bing API key 필요

**recon/companies-contacts/censys_email_address**
- description : 회사의 TLS 인증서에서 이메일 주소를 검색
- censysio id, secret key 필요

**recon/companies-contacts/pen**
- description : 회사 이름이 주어지면 PEN 레지스트리에서 등록 된 IANA Private Enterprise Number (PEN) 연락처를 수집

**recon/companies-domains/censys_subdomains**
- description : 회사의 하위 도메인을 검색
- censysio id, secret key 필요

**recon/companies-domains/pen**
- description : 회사 이름이 지정되면 PEN 레지스트리에서 등록된 IANA Private Enterprise Number(PEN) 연락처의 전자 메일 주소로 도메인을 수집

**recon/companies-domains/viewdns_reverse_whois**
- description : 회사에 속한 도메인 이름을 수집

**recon/companies-domains/whoxy_dns**
- description : Whoxy API를 사용하여 회사에 속한 DNS 레코드를 쿼리함
- whois api key 필요

**recon/companies-hosts/censys_org**
- description : 회사의 ASN에 대한 호스트를 검색
- censysio id, secret key 필요

**recon/companies-hosts/censys_tls_subjects**
- description : 도메인에 대한 TLS 인증서를 검색
- censysio id, secret key 필요

**recon/companies-multi/github_miner**
- description : Github API를 사용하여 회사 검색 문자열과 연결된 리포지토리 및 구성원 프로필을 나열
- github api key 필요

**recon/companies-multi/shodan_org**
- description : \\'org\\' 검색 연산자를 사용하여 Shodan API에서 호스트 및 포트 정보를 수집
- shodan api key 필요

**recon/companies-domains/pen**
- description : 회사 이름이 지정되면 PEN 레지스트리에서 등록된 IANA Private Enterprise Number(PEN) 연락처의 전자 메일 주소로 도메인을 수집

**recon/companies-domains/viewdns_reverse_whois**
- description : 회사에 속한 도메인 이름을 수집

**recon/companies-domains/whoxy_dns**
- description : Whoxy API를 사용하여 회사에 속한 DNS 레코드를 쿼리함
- whois api key 필요

**recon/companies-hosts/censys_org**
- description : 회사의 ASN에 대한 호스트를 검색
- censysio id, secret key 필요

**recon/companies-hosts/censys_tls_subjects**
- description : 도메인에 대한 TLS 인증서를 검색
- censysio id, secret key 필요

**recon/companies-multi/github_miner**
- description : Github API를 사용하여 회사 검색 문자열과 연결된 리포지토리 및 구성원 프로필을 나열
- github api key 필요

**recon/companies-multi/shodan_org**
- description : \\'org\\' 검색 연산자를 사용하여 Shodan API에서 호스트 및 포트 정보를 수집
- shodan api key 필요

**recon/companies-multi/whois_miner**
- description : ARIN Whois RWS를 사용하여 지정된 회사 검색 문자열과 연관된 회사, 위치, 넷블록 및 연락처를 수집

**recon/contacts-contacts/abc**
- description : advancedbackgroundchecks.com에서 이름을 확인

**recon/contacts-contacts/mailtester**
- description : MailTester.com을 사용하여 전자 메일 주소의 유효성을 검사

**recon/contacts-contacts/mangle**
- description : 데이터베이스에 저장된 모든 연락처에 맹글 패턴을 적용하여 수집된 각 연락처에 대한 전자 메일 주소 또는 사용자 이름을 만듭니다.

**recon/contacts-contacts/unmangle**
- description : 데이터베이스에 저장된 모든 연락처에 정규식 또는 매듭 풀기 패턴을 적용하여 개별 이름 구성요소를 추출합니다.

**recon/contacts-credentials/hibp_breach**
- description : haveibeenpwned.com API를 활용하여 전자 메일 주소가 위반된 자격 증명과 연결되어 있는지 확인합니다.
- hibp api key 필요

**recon/contacts-credentials/hibp_paste**
- description : haveibeenpwned.com API를 활용하여 다양한 사이트에 전자 메일 주소가 게시되었는지 확인합니다.
- hibp api key 필요

**recon/contacts-domains/migrate_contacts**
- description : '연락처' 테이블에 저장된 전자 메일 주소와 연결된 모든 호스트 이름에 대해 새 도메인을 추가합니다.

**recon/contacts-profiles/fullcontact**
- description : 이메일 주소를 사용하여 fullcontact.com API에서 연락처 정보 및 프로필 수집
- fullcontact api key 필요

**recon/credentials-credentials/adobe**
- description : 2013년 어도비 침해로 유출된 암호 해독 해시.
1. 유출 ID를 교차 참조하여 \\'creds\\' 테이블의 \\'password\\' 열에서 Adobe 해시를 식별하고 Ado
be 해시를 \\'hash\\' 열로 이동한 다음 \\'type\\'을 \\'Adobe\\'로 변경합니다.
2. 암호문\\의 디코딩된 암호 블록을 알려진 암호 블록 값의 로컬 블록 룩업 테이블(BLOCK_DB)과 비
교하여 해시를 크랙하려고 시도한다.
3. 모듈은 \\'creds\\' 표를 성공 수준에 기반한 결과로 업데이트한다.

**recon/credentials-credentials/bozocrack**
- description : Google에서 해시 값을 검색하고 'hashlib' 라이브러리에서 지원하는 모든 해싱 알고리즘을 사용하여 결과 페이지의 모든 단어를 해싱하여 일치 여부를 테스트합니다.

**recon/credentials-credentials/hashes_org**
- description : Hashes.org API를 사용하여 역방향 해시 조회를 수행합니다.

**recon/domains-companies/censys_companies**
- description : 도메인에 대한 TLS 인증서를 검색합니다.
- censysid, secret key 필요

**recon/domains-companies/pen**
- description : 도메인이 지정되면 IANA Private Enterprise Number(PEN) 레지스트리에서 회사를 찾아 \\'companies\\' 테이블에 추가합니다.

**recon/domains-companies/whoxy_whois**
- description :Whoxy API를 사용하여 도메인에 대한 정보를 쿼리하고 회사 및 연락처 테이블을 업데이트합니다.

**recon/domains-contacts/hunter_io**
- description : Hunter.io을 사용하여 지정된 도메인의 전자 메일 주소를 찾습니다.
- hunter id key 필요

**recon/domains-contacts/pen**
- description : 도메인이 지정되면 IANA Private Enterprise Number(PEN) 레지스트리에서 연락처를 찾아 \\'contacts\\' 테이블에 추가합니다.

**recon/domains-contacts/pgp_search**
- description : MIT 공용 PGP 키 서버에서 지정된 도메인의 전자 메일 주소를 검색합니다.
\\'contacts\\' 표를 결과로 업데이트합니다.

**recon/domains-contacts/whois_pocs**
- description : ARIN Whois RWS를 사용하여 지정된 도메인의 whois 쿼리에서 POC 데이터를 수집합니다.
\\'contacts\\' 표를 결과로 업데이트합니다.

**recon/domains-contacts/wikileaker**
- description : 파이썬2로 작성된 Datasploit 모듈에서 영감을 얻은 WikiLeaks 스크래퍼입니다. Wikileaks에서 subject 도메인을 포함하는 유출을 검색한다.
발견된 것이 있으면 URL, 보낸 사람 전자 메일, 날짜, 누출 및 전자 메일의 제목을 분석합니다.
\\'Contacts\\' table에 결과로 업데이트됩니다.

**recon/domains-credentials/pwnedlist/api_usage**
- description : 계정 사용 통계에 대해 PwnedList API를 쿼리합니다.
- pwnedlist api key 필요

**recon/domains-credentials/pwnedlist/domain_ispwned**
- description : 도메인에 대한 PwnedList API를 조회하여 관련 자격 증명이 손상되었는지 확인합니다. 모든 자격 증명을 반환하지 않으며, 손상된 총 자격 증명 수만 반환합니다.
- pwnedlist api, secret key 필요

**recon/domains-credentials/pwnedlist/leak_lookup**
- description : 로컬 데이터베이스에 유출 ID와 관련된 정보를 쿼리합니다.
\\'leaks_dump\\' 모듈을 사용하여 로컬 데이터베이스를 채워야 이 모듈이 성공적으로 실행됩니다.

**recon/domains-credentials/pwnedlist/leaks_dump**
- description : 알려진 모든 유출과 관련된 정보를 PwnedList API에 쿼리합니다.
결과로 \\'leaks\\' 표를 업데이트합니다.
- pwnedlist api, secret key 필요

**recon/domains-domains/brute_suffix**
- description : brute는 DNS를 사용하여 TLD 및 SLD를 강제 적용합니다.
\\'domains\\' 테이블을 결과로 업데이트합니다.

**recon/domains-hosts/binaryedge**
- description : BinaryEdge API를 사용하여 하위 도메인을 검색합니다.
- binaryedge api key 필요

**recon/domains-hosts/bing_domain_api**
- description : Bing API 및 "domain:" 고급 검색 연산자를 활용하여 호스트를 수집합니다.
\\'hosts\\' 테이블을 결과로 업데이트합니다.
- bing api key 필요

**recon/domains-hosts/bing_domain_web**
- description : {'site}' 검색 연산자를 사용하여 Bing.com에서 호스트를 수집합니다.
결과와 함께 {'hosts}' 테이블을 업데이트합니다.

**recon/domains-hosts/brute_hosts**
- description : Brute는 DNS를 사용하여 호스트 이름을 강제로 지정합니다.
'hosts' 테이블을 결과와 함께 업데이트합니다.

**recon/domains-hosts/builtwith**
- description : BuiltWith API를 활용하여 도메인과 관련된 호스트, 기술 및 연락처를 식별
- builtwith api key 필요

**recon/domains-hosts/censys_domain**
- description : 도메인에 대한 MX, SMTPS, POP3S 및 HTTPS 레코드를 검색합니다.
{'hosts}'와 {'ports} 테이블을 결과와 함께 업데이트합니다.
- censys id, secret 필요

**recon/domains-hosts/certificate_transparency**
- description : crt.sh에서 인증서 투명성 데이터를 검색하고 새로 식별된 호스트를 호스트에 추가

**recon/domains-hosts/google_site_web**
- description : \\'site\\' 검색 연산자를 사용하여 Google.com에서 호스트를 수집합니다.
\\'hosts\\' 테이블을 결과로 업데이트합니다.

**recon/domains-hosts/hackertarget**
- description : HackerTarget.com API를 사용하여 호스트 이름을 찾습니다.
\\'hosts\\' 테이블을 결과와 함께 업데이트합니다.

**recon/domains-hosts/mx_spf_ip**
- description : 도메인에 대한 MX 및 SPF IPv4 레코드를 검색합니다.
\\'hosts\\' 및/또는 \\'netblocks\\' 테이블을 결과로 업데이트합니다.

**recon/domains-hosts/netcraft**
- description : Netcraft.com에서 호스트를 수집합니다.
\\'hosts\\' 테이블을 결과로 업데이트합니다.

**recon/domains-hosts/shodan_hostname**
- description : ' \\'hostname\\' 검색 연산자를 사용하여 Shodan API에서 호스트를 수집합니다. \\'hosts\\' 테이블을 결과로 업데이트합니다.',
- shodan api 필요

**recon/domains-hosts/spyse_subdomains**
- description : Spyse API를 사용하여 하위 도메인을 검색합니다
- spyse api 필요


**recon/domains-hosts/ssl_san**

- description : ssltools.com API를 사용하여 도메인의 제목 대체 이름을 가져옵니다.
\\'hosts\\' 테이블을 결과로 업데이트합니다.


**recon/domains-hosts/threatcrowd**

- description : ThreatCrowd 패시브 DNS API를 활용하여 호스트/하위 도메인을 검색합니다.


**recon/domains-hosts/threatminer**

- description : ThreatMiner API를 사용하여 하위 도메인을 검색합니다.


**recon/domains-vulnerabilities/ghdb**

- description : GHDB을 활용해 도메인 내에서 발생할 수 있는 취약점을 검색한다.
'데이터베이스(GHDB)와 {\\'site\\' 검색 연산자.\\'취약점\\' 테이블\\' 업데이트 결과와 함께.


**recon/domains-vulnerabilities/xssed**

- description : XSSed.com에서 도메인과 연결된 XSS 레코드를 확인하고 처음 20개의 결과를 표시합니다.


**recon/hosts-domains/migrate_hosts**

- description : \\'hosts\\' 테이블에 저장된 모든 호스트 이름에 대해 새 도메인을 추가합니다.


**recon/hosts-hosts/bing_ip**

- description : Bing API 및 "ip:" 고급 검색 연산자를 활용하여 동일한 IP 주소를 공유하는 다른 가상 호스트를 나열합니다.
\\'hosts\\' 테이블을 결과로 업데이트합니다.
- bing api key 필요


**recon/hosts-hosts/censys_hostname**

- description : 지정된 호스트 이름에 대한 모든 IP를 검색합니다.
'호스트' 및 '포트' 테이블을 업데이트합니다.
- censys id, secret key 필요


**recon/hosts-hosts/censys_ip**

- description : 각 IP 주소에 대해 열린 포트를 검색합니다.
\\'ports\\' 표를 결과로 업데이트합니다.
- censys id, secret key 필요


**recon/hosts-hosts/censys_query**

- description : 임의 Censys 쿼리와 일치하는 호스트에 대한 세부 정보를 검색합니다.
\\'hosts\\', \\'domains\\' 및 \\'ports\\' 테이블을 결과로 업데이트합니다.
- censys id, secret key 필요


**recon/hosts-hosts/ipinfodb**

- description : ipinfodb.com API를 활용하여 IP 주소별로 호스트 위치를 지정합니다.
\\'hosts\\' table\\' 를 업데이트합니다. 결과와 함께
- ipinfodb api key 필요


**recon/hosts-hosts/ipstack**

- description : ipstack.com API를 활용하여 IP 주소로 호스트를 지리적으로 찾습니다.
\\'hosts\\' 테이블을 결과로 업데이트합니다.
- ipstack api key 필요


**recon/hosts-hosts/resolve**

- description : 호스트의 IP 주소를 확인합니다.
\\'hosts\\' 테이블을 결과로 업데이트합니다.


**recon/hosts-hosts/reverse_resolve**

- description : 각 IP 주소에 대해 역방향 조회를 수행하여 호스트 이름을 확인합니다.
\\'hosts\\' 테이블을 결과로 업데이트합니다.


**recon/hosts-hosts/ssltools**

- description : ssltools.com 사이트를 사용하여 사이트의 SSL 인증서 메타 데이터에서 호스트 이름을 가져와 'hosts'테이블을 업데이트합니다.
인증서 트러스트의 보안 문제는 \\'취약성\\' 테이블로 푸시됩니다.


**recon/hosts-hosts/virustotal**

- description : report API를 사용하여 Virustotal에서 도메인을 수집합니다.
{'hosts}' 테이블을 결과와 함께 업데이트합니다.
- virustotal api key 필요


**recon/hosts-locations/migrate_hosts**

- description : \\'hosts\\' 테이블에 저장된 모든 위치에 대한 새 위치를 추가합니다.


**recon/hosts-ports/binaryedge**

- description : BinaryEdge API를 사용하여 IP 주소에 대해 열려 있는 서비스를 검색합니다.
- binarayedge api 필요


**recon/hosts-ports/shodan_ip**

- description : {'ip}' 검색 연산자를 사용하여 Shodan API에서 포트 정보를 수집합니다.
- shodan api key 필요


**recon/locations-locations/geocode**

- description : Google 지도 API를 쿼리하여 주소의 좌표를 가져옵니다.
\\'locations\\' 표를 결과로 업데이트합니다.
- google api key 필요


**recon/locations-locations/reverse_geocode**

- description : 좌표에서 주소를 얻으려면 Google 지도 API를 조회하십시오.
- google api key 필요


**recon/locations-pushpins/flickr**

- description : Flickr에서 지정된 위치 근처의 미디어를 검색합니다.
- flickr api key  필요


**recon/locations-pushpins/shodan**

- description : 지정된 위치에 근접한 미디어를 쇼단에서 검색합니다.
- shodan api key 필요


**recon/locations-pushpins/twitter**

- description : 지정된 위치 근처에 있는 미디어를 Twitter에서 검색합니다.
-twitter api, secret key 필요


**recon/locations-pushpins/youtube**

- description : YouTube API에서 지정된 위치에 있는 미디어를 검색합니다.
- google api key 필요


**recon/netblocks-companies/censys_netblock_company**

- description : 회사의 netblock에 대한 조직을 검색합니다.
- censys id, secret key 필요


**recon/netblocks-companies/whois_orgs**

- description : ARIN Whois RWS를 사용하여 지정된 netblock에 대한 whois 쿼리에서 회사 데이터를 수집합니다.


**recon/netblocks-hosts/censys_netblock**

- description : netblock에 대한 호스트 및 포트를 검색합니다.
'\\'hosts\\' 및 \\'ports\\' 테이블을 결과로 업데이트합니다.
- censys id, secret key 필요

**recon/netblocks-hosts/reverse_resolve**
- description : netblock\\의 각 IP 주소에 대해 역방향 조회를 수행하여 호스트 이름을 확인합니다. \\'hosts\\' 테이블을 결과로 업데이트합니다.

**recon/netblocks-hosts/shodan_net**
- description : \\'net\\' 검색 연산자를 사용하여 쇼단 API에서 호스트를 수집합니다.
\\'hosts\\'를 업데이트합니다.' '결과와 함께 테이블.
- shodan api key 필요

**recon/netblocks-hosts/virustotal**
- description : report API를 사용하여 Virustotal에서 도메인을 수집합니다.
{'hosts}' 테이블을 결과와 함께 업데이트합니다.
- virustotal api key 필요

**recon/netblocks-ports/census_2012**
- description : Exfiltrated.com을 통해 Internet Census 2012 데이터를 쿼리하여 netblock의 열린 포트를 나열

**recon/netblocks-ports/censysio**
- description : 센서스를 쿼리합니다. netblock에 대한 정보를 나열하는 io API
- censys id, secret key 필요

**recon/ports-hosts/migrate_ports**
- description : \\'ports\\' 테이블에 저장된 모든 호스트 이름에 대해 새 호스트를 추가합니다.

**recon/ports-hosts/ssl_scan**
- description : 포트 테이블을 쿼리하여 'IP:Port' 리스트 작성. '인증서 공용 이름으로 포트 테이블을 업데이트한 다음 제목 Alt 이름을 추가합니다.

**recon/profiles-contacts/bing_linkedin_contacts**
- description : LinkedIn 프로필을 기반으로 Bing에서 기본 연락처 정보를 수집합니다.
- bing api key 필요

**recon/profiles-contacts/dev_diver**
- description : public 리포지토리에서 지정된 사용자 이름에 대한 정보를 검색합니다.

**recon/profiles-contacts/github_users**
- description : Github API를 사용하여 수집된 프로필에서 사용자 정보를 수집합니다.
'연락처' 테이블을 결과와 함께 업데이트합니다.
- github api key 필요

**recon/profiles-profiles/namechk**
- description : NameChk.com API를 활용하여 특정 웹 사이트에 사용자 이름이 있는지 확인
- namechk api key 필요

**recon/profiles-profiles/profiler**
- description : 프로파일 테이블에서 각 사용자 이름을 가져오고 해당 사용자에 대해 다양한 웹 사이트를 검색합니다.
유효한 사이트 목록은 <https://github.com/WebBreacher/WhatsMyName의> 상위 프로젝트에서 가져온 것입니다.

**recon/profiles-profiles/twitter_mentioned**
- description : Twitter API를 활용하여 지정된 핸들을 언급한 사용자를 나열합니다.
\\'profiles\\' 표를 결과로 업데이트합니다.
- twitter api, secret key 필요

**recon/profiles-profiles/twitter_mentions**
- description : Twitter API를 사용하여 지정된 핸들에서 언급한 사용자를 나열합니다.
결과와 함께 '프로파일' 테이블을 업데이트합니다.
- twitter api, secret key 필요

**recon/profiles-repositories/github_repos**
- description : Github API를 사용하여 Github 사용자가 소유한 리포지토리 및 gist를 나열합니다. \\'reposities\\' 테이블을 결과로 업데이트합니다.
- github api key 필요

**recon/repositories-profiles/github_commits**
- description : Github API를 사용하여 리포지토리 커밋에서 사용자 프로파일을 수집합니다.
\\'profiles\\' 표를 결과로 업데이트합니다.
- github api key 필요

**recon/repositories-vulnerabilities/gists_search**
- description : Github API를 사용하여 가능한 정보 노출을 위해 Gist를 다운로드하고 검색합니다. \\'vulnerabilities\\' 표를 결과로 업데이트합니다.

**recon/repositories-vulnerabilities/github_dorks**
- description : Github API를 사용하여 Github Dorks 및 \\'repo\\' 검색 연산자를 활용하여 소스 코드에서 가능한 취약성을 검색합니다. \\'vulnerabilities\\' 표를 결과로 업데이트합니다.
- github api key 필요

 

Reporting

**reporting/csv**
- description : 지정된 수집된 데이터가 들어 있는 CSV 파일을 생성합니다.

**reporting/html**
- description : HTML 보고서를 만듭니다.

**reporting/json**
- description : JSON 보고서를 만듭니다.

**reporting/list**
- description : 데이터베이스에서 레코드 목록을 포함하는 파일을 만듭니다.

**reporting/proxifier**
- description : 인라인 프록시를 채우기 위해 데이터베이스에서 URL을 요청합니다. 모듈을 실행하기 전에 글로벌 프록시 옵션을 설정해야 합니다.

**reporting/pushpin**
- description : 데이터베이스에 저장된 모든 PushPin에 대한 HTML 미디어 및 지도 보고서를 만듭니다.

**reporting/xlsx**
- description : 전체 데이터 집합을 포함하는 Excel 호환 XLSX 파일 작성

**reporting/xml**
- description : XML 리포트를 생성합니다.

반응형