[FUG-BR] Alterar a versão do FreeBSD no uname e em outros programas.

Renato Botelho rbgarga em gmail.com
Seg Jul 9 11:02:19 BRT 2018


On 09/07/18 10:01, Luiz Gustavo S. Costa wrote:
> 2018-07-08 18:26 GMT+01:00 Paulo Henrique <paulo.rddck em bsd.com.br>:
> 
>> Saudações a todos,
>>
>> Gostaria de saber como fazer para alterar a versão/nome do sistema
>> operacional no comando uname e também na detecção do nmap, já fiz algumas
>> pesquisas mais sempre retorna sobre o motd que não é o objetivo.
>>
>> No meu sistema quanto executo uname -a retorna a linha abaixo:
>>
>> FreeBSD matilda 11.1-STABLE FreeBSD 11.1-STABLE #3 r327905: Sat Jan 13
>> 01:31:20 -02 2018     NoRm4nD em matilda:/usr/obj/usr/src/sys/MATILDA  amd64
>>
>> No caso eu quero alterar para que no lugar de FreeBSD 11.1-STABLE retorne
>> um nome especifico de minha escolha.
>>
>> E se alterando isso um scanner de OS do nmap irá detectar e retorna o novo
>> nome do tipo do sistema ?
>>
>> Nesse campo do retorno do resultado:
>>
>> Service Info: OS: FreeBSD; CPE: cpe:/o:freebsd:freebsd
>>
>> root em matilda:/ # nmap -A -T4 127.0.0.1
>>
>> Starting Nmap 7.40 ( https://nmap.org ) at 2018-07-08 14:22 -03
>> Warning: 127.0.0.1 giving up on port because retransmission cap hit (6).
>> Stats: 0:00:19 elapsed; 0 hosts completed (1 up), 1 undergoing SYN Stealth
>> Scan
>> SYN Stealth Scan Timing: About 32.10% done; ETC: 14:23 (0:00:38 remaining)
>> Stats: 0:00:21 elapsed; 0 hosts completed (1 up), 1 undergoing SYN Stealth
>> Scan
>> SYN Stealth Scan Timing: About 38.63% done; ETC: 14:23 (0:00:32 remaining)
>> Stats: 0:00:55 elapsed; 0 hosts completed (1 up), 1 undergoing SYN Stealth
>> Scan
>> SYN Stealth Scan Timing: About 99.99% done; ETC: 14:23 (0:00:00 remaining)
>> Nmap scan report for localhost (127.0.0.1)
>> Host is up (0.000014s latency).
>> Not shown: 998 closed ports
>> PORT     STATE SERVICE VERSION
>> 53/tcp   open  domain  Unbound 1.5.10
>> | dns-nsid:
>> |   id.server: matilda
>> |_  bind.version: unbound 1.5.10
>> 6666/tcp open  ssh     OpenSSH 7.5 (FreeBSD 20170903; protocol 2.0)
>> | ssh-hostkey:
>> |   2048 43:ed:82:8c:fa:67:b3:95:43:e9:89:d5:7f:01:f8:51 (RSA)
>> |_  256 a1:2f:e7:76:71:25:ff:da:9f:92:b3:e2:f6:f2:39:7c (ECDSA)
>> No exact OS matches for host (If you know what OS is running on it, see
>> https://nmap.org/submit/ ).
>> TCP/IP fingerprint:
>> OS:SCAN(V=7.40%E=4%D=7/8%OT=53%CT=1%CU=33755%PV=N%DS=0%DC=
>> L%G=Y%TM=5B4248E1
>> OS:%P=amd64-portbld-freebsd11.1)SEQ(SP=108%GCD=1%ISR=10D%TI=
>> Z%CI=Z%TS=20)OP
>> OS:S(O1=M3FD8NW6ST11%O2=M3FD8NW6ST11%O3=M3FD8NW6NNT11%
>> O4=M3FD8NW6ST11%O5=M3
>> OS:FD8NW6ST11%O6=M3FD8ST11)WIN(W1=FFFF%W2=FFFF%W3=FFFF%
>> W4=FFFF%W5=FFFF%W6=F
>> OS:FFF)ECN(R=Y%DF=Y%T=40%W=FFFF%O=M3FD8NW6SLL%CC=Y%Q=)T1(
>> R=Y%DF=Y%T=40%S=O%
>> OS:A=S+%F=AS%RD=0%Q=)T2(R=N)T3(R=Y%DF=Y%T=40%W=FFFF%S=O%A=
>> S+%F=AS%O=M3FD8NW
>> OS:6ST11%RD=0%Q=)T4(R=Y%DF=Y%T=40%W=0%S=A%A=Z%F=R%O=%RD=0%
>> Q=)T5(R=Y%DF=Y%T=
>> OS:40%W=0%S=Z%A=S+%F=AR%O=%RD=0%Q=)T6(R=Y%DF=Y%T=40%W=0%S=A%
>> A=Z%F=R%O=%RD=0
>> OS:%Q=)T7(R=Y%DF=Y%T=40%W=0%S=Z%A=S+%F=AR%O=%RD=0%Q=)U1(R=Y%
>> DF=N%T=40%IPL=3
>> OS:8%UN=0%RIPL=G%RID=G%RIPCK=Z%RUCK=G%RUD=G)IE(R=Y%DFI=S%T=40%CD=S)
>>
>> Network Distance: 0 hops
>> Service Info: OS: FreeBSD; CPE: cpe:/o:freebsd:freebsd
>>
>> OS and Service detection performed. Please report any incorrect results at
>> https://nmap.org/submit/ .
>> Nmap done: 1 IP address (1 host up) scanned in 111.11 seconds
>>
>>
>> --
>> :UNI><BSD:
>> Paulo Henrique.
>> Fone: (21) 37089388.
>> -------------------------
>> Histórico: http://www.fug.com.br/historico/html/freebsd/
>> Sair da lista: https://www.fug.com.br/mailman/listinfo/freebsd
>>
> 
> Olá !!!
> 
> Paulo, antes de tentar alterar o código do FreeBSD, é interessante tentar
> entender como o nmap coleta essa informação. Em resumo, ele busca por uma
> assinatura do OS. Veja o detalhe completo nesse link:
> 
> https://nmap.org/book/osdetect-fingerprint-format.html
> 
> Talvez você tenha que "inventar" uma assinatura própria ou tentar simular
> alguma outra existente.
> 
> Espero que ajude.

Sem contar que muitas ferramentas de build (autotools, cmake) têm regras
específicas pro FreeBSD. Quando vc alterar isso pra 'meuOS' vai fazer
com que o SO deixe de ser identificado e provavelmente vai ser
impossível compilar a maior parte dos ports. Aliás, nem mesmo a árvore
do ports deve funcionar.

É um trabalho imenso e complexo manter um fork de um SO. Pensa bem se
vale a pena.

-- 
Renato Botelho


Mais detalhes sobre a lista de discussão freebsd