
Recon-Ninja
이 도구는 업로드 옵션을 통해 도메인 디스커버리 결과를 업로드할 수 있는 정찰(recon) 도구를 제공하는 GitHub 저장소입니다. 이 도구는 활성 도메인을 스캔하는 도구인 HTTPX를 활용합니다. 또한 클라우드 기반 데이터베이스인 MongoDB Atlas가 통합되어 있어 정찰 데이터를 저장할 수 있습니다.
사용자는 업로드된 서브도메인을 검색 가능한 뷰로 제공하는 사용자 인터페이스(UI)를 통해 도구와 상호 작용할 수 있습니다. UI는 또한 title과 CNAME을 구분하여 표시하며, 업로드된 서브도메인 데이터를 쉽게 탐색할 수 있는 검색 옵션을 제공합니다.
또한 이 도구는 UI를 통해 백엔드에서 Nuclei를 실행할 수 있는 기능을 제공합니다. Nuclei는 취약점 스캐닝에 사용되는 도구로, 다른 정찰 도구들과 함께 자주 사용됩니다. 사용자는 Nuclei 스캔이 완료되면 Discord를 통해 알림을 받을 수 있습니다.
전반적으로 이 도구는 정찰 데이터를 수집하고 저장하는 효율적이고 효과적인 방법을 제공하며, 사용자 친화적인 UI를 통해 수집된 데이터를 쉽게 검색하고 탐색할 수 있습니다. Nuclei 통합 및 Discord 알림은 추가 스캔 기능과 스캔 완료 알림을 제공하여 도구의 가치를 더욱 높여줍니다.



GO lang이 설치되어 있는지 확인하세요. 자세한 내용은 https://go.dev/doc/install를 참조하세요.
https://www.mongodb.com/atlas/database로 이동하여 계정을 만드세요. 필요에 따라 무료 또는 유료 계정 중에서 선택할 수 있습니다. 계정을 만든 후에는 https://www.mongodb.com/try/download/compass에서 UI 앱인 MongoDB Compass를 설치하는 것이 도움이 될 수 있습니다. 이 도구를 사용하면 데이터베이스를 더 쉽게 관리할 수 있습니다.
데이터베이스를 설정한 후에는 데이터베이스 연결 URL을 저장하세요. 이 도구에서 나중에 필요합니다.
서버가 실행 중이고 필요한 모든 단계가 완료되었는지 확인하세요. 서버가 실행되면 데이터베이스가 자동으로 테스트 데이터베이스를 생성하며, 여기에 모든 다양한 파일이 나열됩니다. 예를 들어 사용자 이름과 비밀번호를 위한 Users, 모든 서브도메인 목록을 위한 Files, 모든 템플릿을 위한 Templates가 있습니다. 데이터베이스의 users 섹션으로 이동하여 Recon Ninja에 접속할 사용자 이름과 비밀번호를 추가하세요. 기본적으로 로그인 페이지가 포함되어 있어 사용자 이름과 비밀번호가 필요합니다. 아래 단계에 따라 데이터베이스의 Users 섹션에 다음과 같은 파일을 생성하세요.
/**
* Paste one or more documents here
*/
{
"username": "admin",
"password": "admin"
}
Node 버전이 최신으로 업데이트되어 있는지 확인하세요.
이 저장소를 클론하세요.
git clone https://github.com/tess-ss/recon-ninja.git
세상에, 이것 좀 보세요? 메인 폴더 이름은 'recon-ninja/'이고 그 안에 'Frontend/'와 'Backend/'라는 두 개의 보너스 폴더까지 들어 있네요. 정말 편리하죠!
자, 자, 자, 이제 신나는 부분입니다! 'cd /recon-ninja'로 이동하고 'ls'를 사용해 대박을 터뜨렸는지 확인해 보세요. 그 안에 마법 같은 'Frontend/'와 'Backend/' 폴더가 여러분을 기다리고 있을 것입니다.
npm이 설치되어 있는지 확인하거나 다음 명령어를 실행하세요.
sudo apt install npm
/Frontend 디렉토리로 이동하여 다음을 수행하세요:npm install
src/axiosConfig.js에서 백엔드 API 경로를 서버의 IP로 변경하세요.
axios.defaults.baseURL = 'http://ip:port/';
React 앱의 프로덕션 빌드를 만드세요:
npm run build
/Backend로 이동하여 다음을 수행하세요. cd /Backend로 이동한 후 다음을 실행하세요.의존성을 설치하세요:
npm install
Frontend의 build 폴더를 루트 디렉토리로 이동하세요.
mv ../Frontend/build .
다음을 적용하세요:
db.js의 mongoose.connect 함수에 MongoDB URI를 할당하세요.app.js에서 상수 discordWebhookUrl을 변경하세요.앱을 실행하기 전에 Redis 서버를 엽니다: (redis-server가 없다면 sudo apt-get install redis-server를 통해 설치하세요.)
redis-server
uploads 폴더를 생성하세요.
mkdir uploads
Node.js 앱을 호스팅할 pm2 서버를 설치하세요:
npm i pm2 -g
앱을 시작하세요:
pm2 start app.js
앱은 포트 3000에서 실행됩니다. (원한다면 app.js의 app.listen 함수에서 포트 번호를 변경할 수 있습니다.)
이제 http://YOUR-VPS-IPS:3000을 방문하면 실행 중인 Recon Ninja를 확인할 수 있습니다. 다음과 같이 말이죠.
관심이 있다면 VPS를 설정하는 데 제 Digital Ocean 추천 링크를 자유롭게 사용하세요.